Spark _16 _SparkUIMaster HA
SparkUI
- SparkUI界面介紹
可以指定提交Application的名稱
| ./spark-shell --master ?spark://henu1:7077 --name myapp |
- 配置historyServer
- 臨時(shí)配置,對(duì)本次提交的應(yīng)用程序起作用
| ./spark-shell --master spark://node1:7077 --name myapp1 --conf spark.eventLog.enabled=true ?--conf spark.eventLog.dir=hdfs://node1:9000/spark/test |
停止程序,在Web Ui中Completed Applications對(duì)應(yīng)的ApplicationID中能查看history。
- spark-default.conf配置文件中配置HistoryServer,對(duì)所有提交的Application都起作用
在客戶端節(jié)點(diǎn),進(jìn)入../spark-1.6.0/conf/?spark-defaults.conf最后加入:
| //開啟記錄事件日志的功能 spark.eventLog.enabled ??????????true //設(shè)置事件日志存儲(chǔ)的目錄 spark.eventLog.dir ???????????????????hdfs://node1:9000/spark/test //設(shè)置HistoryServer加載事件日志的位置 spark.history.fs.logDirectory ??hdfs://node1:9000/spark/test //日志優(yōu)化選項(xiàng),壓縮日志 spark.eventLog.compress?????????true |
啟動(dòng)HistoryServer:
| ./start-history-server.sh |
訪問HistoryServer:node4:18080,之后所有提交的應(yīng)用程序運(yùn)行狀況都會(huì)被記錄。
?
Master HA
-
Master的高可用原理
Standalone集群只有一個(gè)Master,如果Master掛了就無(wú)法提交應(yīng)用程序,需要給Master進(jìn)行高可用配置,Master的高可用可以使用fileSystem(文件系統(tǒng))和zookeeper(分布式協(xié)調(diào)服務(wù))。
fileSystem只有存儲(chǔ)功能,可以存儲(chǔ)Master的元數(shù)據(jù)信息,用fileSystem搭建的Master高可用,在Master失敗時(shí),需要我們手動(dòng)啟動(dòng)另外的備用Master,這種方式不推薦使用。
zookeeper有選舉和存儲(chǔ)功能,可以存儲(chǔ)Master的元素?fù)?jù)信息,使用zookeeper搭建的Master高可用,當(dāng)Master掛掉時(shí),備用的Master會(huì)自動(dòng)切換,推薦使用這種方式搭建Master的HA。
?
-
Master高可用搭建
- 在Spark Master節(jié)點(diǎn)上配置主Master,配置spark-env.sh
| export SPARK_DAEMON_JAVA_OPTS=" -Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=node3:2181,node4:2181,node5:2181 -Dspark.deploy.zookeeper.dir=/sparkmaster0821" |
?
- 發(fā)送到其他worker節(jié)點(diǎn)上
? ? ? ?
?
?
- 找一臺(tái)節(jié)點(diǎn)(非主Master節(jié)點(diǎn))配置備用 Master,修改spark-env.sh配置節(jié)點(diǎn)上的MasterIP
? ? ? ? ? ? ?
?
- 啟動(dòng)集群之前啟動(dòng)zookeeper集群:
| ../zkServer.sh start |
- 啟動(dòng)spark Standalone集群,啟動(dòng)備用Master
- 打開主Master和備用Master WebUI頁(yè)面,觀察狀態(tài)。
-
注意點(diǎn)
- 主備切換過程中不能提交Application。
- 主備切換過程中不影響已經(jīng)在集群中運(yùn)行的Application。因?yàn)镾park是粗粒度資源調(diào)度。
-
測(cè)試驗(yàn)證
提交SparkPi程序,kill主Master觀察現(xiàn)象。
| ./spark-submit --master spark://node1:7077,node2:7077 --class org.apache.spark.examples.SparkPi ../lib/spark-examples-1.6.0-hadoop2.6.0.jar 10000 |
總結(jié)
以上是生活随笔為你收集整理的Spark _16 _SparkUIMaster HA的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 彻底搞清楚map和flatmap
- 下一篇: Spark _17 _SparkShuf