關鍵字:spark-shell on yarn、spark-sql on yarn 前面的文章《Spark On Yarn:提交Spark應用程序到Yarn》介紹了將Spark應用程序提交到Yarn上運行,。有時候在做開發(fā)測試的時候,,需要使用spark-shell和spark-sql命令行,,除了Local和Spark standalone模式,spark-shell和spark-sql也可以運行在yarn上,,這里就簡單介紹一下使用方法,。 spark-shell On Yarn如果你已經有一個正常運行的Hadoop Yarn環(huán)境,那么只需要下載相應版本的Spark,,解壓之后做為Spark客戶端即可,。 需要配置Yarn的配置文件目錄,export HADOOP_CONF_DIR=/etc/hadoop/conf 這個可以配置在spark-env.sh中,。 運行命令:
注意,,這里的–master必須使用yarn-client模式,如果指定yarn-cluster,,則會報錯: Error: Cluster deploy mode is not applicable to Spark shells. 因為spark-shell作為一個與用戶交互的命令行,,必須將Driver運行在本地,而不是yarn上,。 其中的參數(shù)與提交Spark應用程序到y(tǒng)arn上用法一樣,。 啟動之后,在命令行看上去和standalone模式下的無異: 在ResourceManager的WEB頁面上,,看到了該應用程序(spark-shell是被當做一個長服務的應用程序運行在yarn上): 點擊ApplicationMaster的UI,,進入到了Spark應用程序監(jiān)控的WEB頁面:
spark-sql On Yarnspark-sql命令行運行在yarn上,原理和spark-shell on yarn一樣,。只不過需要將Hive使用的相關包都加到Spark環(huán)境變量,。 1. 將hive-site.xml拷貝到$SPARK_HOME/conf 2.export HIVE_HOME=/usr/local/apache-hive-0.13.1-bin 添加到spark-env.sh 3.將以下jar包添加到Spark環(huán)境變量: datanucleus-api-jdo-3.2.6.jar、datanucleus-core-3.2.10.jar,、datanucleus-rdbms-3.2.9.jar,、mysql-connector-java-5.1.15-bin.jar 可以在spark-env.sh中直接添加到SPARK_CLASSPATH變量中。
運行命令:
即可在yarn上運行spark-sql命令行,。 在ResourceManager上的顯示以及點擊ApplicationMaster進去Spark的WEB UI,,與spark-shell無異。
這樣,,只要之前有使用Hadoop Yarn,,那么就不需要搭建standalone的Spark集群,也能發(fā)揮Spark的強大威力了,。
其他相關閱讀: Spark On Yarn:提交Spark應用程序到YarnSpark1.3.1安裝配置運行Spark1.4.0-SparkSQL與Hive整合-支持窗口分析函數(shù)Spark算子系列文章
如果覺得本博客對您有幫助,,請 贊助作者 。 轉載請注明:lxw的大數(shù)據(jù)田地 ? 在Yarn上運行spark-shell和spark-sql命令行
喜歡 (4)分享 (4)
|
|
來自: 飲茶仙人 > 《大數(shù)據(jù)》