|
關(guān)鍵字:spark-shell on yarn、spark-sql on yarn 前面的文章《Spark On Yarn:提交Spark應(yīng)用程序到Y(jié)arn》介紹了將Spark應(yīng)用程序提交到Y(jié)arn上運(yùn)行。有時(shí)候在做開(kāi)發(fā)測(cè)試的時(shí)候,需要使用spark-shell和spark-sql命令行,除了Local和Spark standalone模式,spark-shell和spark-sql也可以運(yùn)行在yarn上,這里就簡(jiǎn)單介紹一下使用方法。 spark-shell On Yarn如果你已經(jīng)有一個(gè)正常運(yùn)行的Hadoop Yarn環(huán)境,那么只需要下載相應(yīng)版本的Spark,解壓之后做為Spark客戶端即可。 需要配置Yarn的配置文件目錄,export HADOOP_CONF_DIR=/etc/hadoop/conf 這個(gè)可以配置在spark-env.sh中。 運(yùn)行命令:
注意,這里的–master必須使用yarn-client模式,如果指定yarn-cluster,則會(huì)報(bào)錯(cuò): Error: Cluster deploy mode is not applicable to Spark shells. 因?yàn)閟park-shell作為一個(gè)與用戶交互的命令行,必須將Driver運(yùn)行在本地,而不是yarn上。 其中的參數(shù)與提交Spark應(yīng)用程序到y(tǒng)arn上用法一樣。 啟動(dòng)之后,在命令行看上去和standalone模式下的無(wú)異:
在ResourceManager的WEB頁(yè)面上,看到了該應(yīng)用程序(spark-shell是被當(dāng)做一個(gè)長(zhǎng)服務(wù)的應(yīng)用程序運(yùn)行在yarn上):
點(diǎn)擊ApplicationMaster的UI,進(jìn)入到了Spark應(yīng)用程序監(jiān)控的WEB頁(yè)面:
spark-sql On Yarnspark-sql命令行運(yùn)行在yarn上,原理和spark-shell on yarn一樣。只不過(guò)需要將Hive使用的相關(guān)包都加到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變量中。
運(yùn)行命令:
即可在yarn上運(yùn)行spark-sql命令行。 在ResourceManager上的顯示以及點(diǎn)擊ApplicationMaster進(jìn)去Spark的WEB UI,與spark-shell無(wú)異。
這樣,只要之前有使用Hadoop Yarn,那么就不需要搭建standalone的Spark集群,也能發(fā)揮Spark的強(qiáng)大威力了。
其他相關(guān)閱讀: Spark On Yarn:提交Spark應(yīng)用程序到Y(jié)arnSpark1.3.1安裝配置運(yùn)行Spark1.4.0-SparkSQL與Hive整合-支持窗口分析函數(shù)Spark算子系列文章
如果覺(jué)得本博客對(duì)您有幫助,請(qǐng) 贊助作者 。 轉(zhuǎn)載請(qǐng)注明:lxw的大數(shù)據(jù)田地 ? 在Yarn上運(yùn)行spark-shell和spark-sql命令行
喜歡 (4)分享 (4)
|
|
|
來(lái)自: 飲茶仙人 > 《大數(shù)據(jù)》