在強大的Yarn環境下Spark是如何工作的?(在國內公司中,Yarn使用的非常多)。
將spark-3.0.0-bin-hadoop3.2.tgz文件上傳到linux並解壓縮,放置在指定位置。
tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz -C /opt/modulecd /opt/modulemv spark-3.0.0-bin-hadoop3.2 spark-yarn
1) 修改hadoop配置文件/opt/module/hadoop/etc/hadoop/yarn-site.xml, 並分發
<!--是否啟動一個線程檢查每個任務正使用的物理內存量,如果任務超出分配值,則直接將其殺掉,默認是true --><property> <name>yarn.nodemanager.pmem-check-enabled</name> <value>false</value></property> <!--是否啟動一個線程檢查每個任務正使用的虛擬內存量,如果任務超出分配值,則直接將其殺掉,默認是true --><property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value></property>
2) 修改conf/spark-env.sh,添加JAVA_HOME和YARN_CONF_DIR配置
mv spark-env.sh.template spark-env.sh。。。export JAVA_HOME=/opt/module/jdk1.8.0_212YARN_CONF_DIR=/opt/module/hadoop/etc/hadoop
bin/spark-submit \--class org.apache.spark.examples.SparkPi \--master yarn \--deploy-mode cluster \./examples/jars/spark-examples_2.12-3.0.0.jar \10
查看http://hadoop103:8088頁面,點擊History,查看歷史頁面
1) 修改spark-defaults.conf.template文件名為spark-defaults.conf
mv spark-defaults.conf.template spark-defaults.conf
2) 修改spark-default.conf文件,配置日誌存儲路徑
spark.eventLog.enabled truespark.eventLog.dir hdfs://hadoop102:8020/directory
注意:需要啟動hadoop集群,HDFS上的目錄需要提前存在。
[root@hadoop102 hadoop] hadoop fs -mkdir /directory
3) 修改spark-env.sh文件, 添加日誌配置
export SPARK_HISTORY_OPTS=&34;
註:寫成一行!!空格隔開!!!
l 參數1含義:WEB UI訪問的埠號為18080
l 參數2含義:指定歷史伺服器日誌存儲路徑
l 參數3含義:指定保存Application歷史記錄的個數,如果超過這個值,舊的應用程式信息將被刪除,這個是內存中的應用數,而不是頁面上顯示的應用數。
4) 修改spark-defaults.conf
spark.yarn.historyServer.address=hadoop102:18080spark.history.ui.port=18080
5) 啟動歷史服務
sbin/start-history-server.sh
6) 重新提交應用
bin/spark-submit \--class org.apache.spark.examples.SparkPi \--master yarn \--deploy-mode client \./examples/jars/spark-examples_2.12-3.0.0.jar \10
7) Web頁面查看日誌:http://hadoop103:8088
你的贊,我都當成喜歡。
專注分享大數據技術&智能技術&基礎&實戰,乾貨,資料。
關注本號,讓更多人了解技術,讓技術造福更多人。歡迎轉發傳播,感謝您的關注,謝謝。