1.下載并解壓安裝包
下載地址:https://spark.apache.org/downloads.html
解壓之后的文件夾目錄:
2. 修改配置文件
-
slaves:
mv slaves.template slaves
spark-env.sh
mv spark-env.sh.template spark-env.sh
SPARK_MASTER_HOST=centos134
SPARK_MASTER_PORT=7077
YARN_CONF_DIR=/opt/hadoop-2.7.2/etc/hadoop
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=30 -Dspark.history.fs.logDirectory=hdfs://centos134:9000/directory"
- spark-default.conf
mv spark-defaults.conf.template spark-defaults.conf
spark.eventLog.enabled true
spark.eventLog.dir hdfs://centos134:9000/directory
spark.yarn.historyServer.address=centos134:18080
spark.history.ui.port=18080
- 修改hadoop配置文件yarn-site.xml(注意這是hadoop的配置文件)
<!--是否啟動(dòng)一個(gè)線程檢查每個(gè)任務(wù)正使用的物理內(nèi)存量译秦,如果任務(wù)超出分配值果复,則直接將其殺掉,默認(rèn)是true -->
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<!--是否啟動(dòng)一個(gè)線程檢查每個(gè)任務(wù)正使用的虛擬內(nèi)存量,如果任務(wù)超出分配值擦耀,則直接將其殺掉,默認(rèn)是true -->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
- 在hdfs上面創(chuàng)建文件夾
hadoop fs –mkdir /directory
相關(guān)參數(shù)說明
- spark.eventLog.dir=hdfs://centos134:9000/directory:Application在運(yùn)行過程中所有的信息均記錄在該屬性指定的路徑下畔咧;
- spark.history.ui.port=18080:WEBUI訪問的端口號(hào)為18080
- spark.history.fs.logDirectory=hdfs://centos134:9000/directory:配置了該屬性后违诗,在start-history-server.sh時(shí)就無(wú)需再顯式的指定路徑,Spark History Server頁(yè)面只展示該指定路徑下的信息
- spark.history.retainedApplications=30:指定保存Application歷史記錄的個(gè)數(shù)纸兔,如果超過這個(gè)值惰瓜,舊的應(yīng)用程序信息將被刪除,這個(gè)是內(nèi)存中的應(yīng)用數(shù)汉矿,而不是頁(yè)面上顯示的應(yīng)用數(shù)崎坊。
- YARN_CONF_DIR=/opt/hadoop-2.7.2/etc/hadoop:跑在yean上時(shí)需要配置的參數(shù)
復(fù)制安裝文件夾到每臺(tái)節(jié)點(diǎn)
3. 啟動(dòng)相關(guān)
sbin/start-all.sh
網(wǎng)頁(yè)查看:centos134:8080
啟動(dòng)歷史服務(wù)
sbin/start-history-server.sh
http://192.168.126.134:18080/
4. 運(yùn)行求pi案例
4.1 local
bin/spark-submit --class org.apache.spark.examples.SparkPi --executor-memory 0.5G --total-executor-cores 1 ./examples/jars/spark-examples_2.11-2.1.1.jar 100
4.2 standalone
bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://centos134:7077 --executor-memory 1G --total-executor-cores 1 ./examples/jars/spark-examples_2.11-2.1.1.jar 100
4.3 yarn
bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode client ./examples/jars/spark-examples_2.11-2.1.1.jar 100
三種模式說明
參數(shù)說明
- --master 指定Master的地址,默認(rèn)為L(zhǎng)ocal
- --class: 你的應(yīng)用的啟動(dòng)類 (如 org.apache.spark.examples.SparkPi)
- --deploy-mode: 是否發(fā)布你的驅(qū)動(dòng)到worker節(jié)點(diǎn)(cluster) 或者作為一個(gè)本地客戶端 (client) (default: client)*
- --conf: 任意的Spark配置屬性洲拇, 格式key=value. 如果值包含空格奈揍,可以加引號(hào)“key=value”
- application-jar: 打包好的應(yīng)用jar,包含依賴. 這個(gè)URL在集群中全局可見。 比如hdfs:// 共享存儲(chǔ)系統(tǒng)赋续, 如果是 file:// path男翰, 那么所有的節(jié)點(diǎn)的path都包含同樣的jar
- application-arguments: 傳給main()方法的參數(shù)
- --executor-memory 1G 指定每個(gè)executor可用內(nèi)存為1G
- --total-executor-cores 2 指定每個(gè)executor使用的cup核數(shù)為2個(gè)