spark ui的访问地址_Spark篇之HA集群搭建
一。下載Spark安裝包
可以從官網下載,本集群選擇的版本是spark-1.6.0-bin-hadoop2.6
二。部署和規劃Spark集群
提前準備好四臺虛擬主機,三臺主機 node1 node2 node4 做Spark集群 develop做Spark客戶端用于提交程序
集群規劃如下:
node1 Master節點 node2,node4 Worker節點 架構圖如下:
在此之前需要配置Master節點到Worker的免密登陸因為在Master節點需要啟動所有的Worker節點,所有需要配置Master到Worker的免密登陸 只需要這一個免密配置即可 不需要配置woker--worker worker-master節點的免密 因為主要是在Master節點上啟動集群
免密設置具體參考如下:http://blog.csdn.net/leexide/article/details/17252369
1.分別在三臺集群下創建同名目錄 (目錄一定要一致,方便集群部署)
本集群環境創建為/root/spark目錄
2.使用Xshell將文件上傳至其中某個節點即可(沒有必要上傳全部節點,因為后期還要重新配置)
上傳至某個節點之后,假設上傳到主節點Master節點后
3.解壓目錄,命令和結構如下
tar -zxf spark-1.6.0-bin-hadoop2.6.tar
然后重命名 方便后期部署
mv spark-1.6.0-bin-hadoop2.6 spark-1.6.0
結構如下:
4.配置參數
進入到配置目錄,路徑為
/root/spark/spark-1.6.0/conf
后可看見文件如下
我們需要把template關鍵字去掉 因為是個模板文件 簡單介紹下文件作用:
slaves文件---worker幾點所在目錄
spark-default.conf目錄文件 默認配置文件
spark-env.sh環境配置文件
這幾個是我們主要用的
更改后的目錄文件格式如下:
配置spark-env.sh
可以看到集群配置參數如下,我們主要配置這些參數
配置完后的截圖如下:
解釋一下參數意義:
SPARK_MASTER_IP=node1 #主節點主機名
SPARK_MASTER_PORT=7077 #主節點和Worker的通信端口
SPARK_WORKER_CORES=2 # 每個worker進程能管理兩個核
SPARK_WORKER_MEMORY=2g # 每個worker進程能管理2g內存
SPARK_MASTER_WEBUI_PORT=8888 # 主節點WEB-UI展示圖 默認端口是8080
SPARK_WORKER_INSTANCES=1 #每個worker節點能夠啟動的worker進程 默認是一個 如果為2 則每一個worker幾點能夠啟動2個Worker進程 就這意思
根據這配置 則 Master節點能夠管路4core 4g內存(有兩個Worker進程 每一個worker進程管理兩個核,2g內存)
配置slaves文件:配置從節點的ip 或主機名
截圖如下
5.將主節點的配置分發到從節點 同名目錄下
命令如下:
回到spark的主目錄配置文件
然后分發到node2 node4節點 這里命令如下`pwd`即到當前目錄
6、啟動Spark集群:
執行安裝包sbin目錄下的start-all.sh腳本
./sbin/start-all.sh
7.查看集群狀態
jps命令為jvm的命令與局之一 專門查看java進程
Master節點狀態:
Worker節點狀態:
查看WEBUI是否能訪問:
注意關閉Linux的防火墻:具體操作如下
/etc/init.d/iptables status
會得到一系列信息,說明防火墻開著。
/etc/init.d/iptables stop
永久關閉:
chkconfig --level 35 iptables off
在本機訪問node1:8888(別忘配置host)
至此,集群搭建成功!
8.測試集群是否可用
將主節點中的spark文件同步到客戶端develop節點
在develop節點中提交spark任務 ,由于本例測試 所以直接提交spark自帶測試用例 計算Pi的值
注意別忘配置Client(develop)客戶端的host 因為要提交任務到Master節點(node1)節點上去運行
即可看見運行狀態
在WebUI也可以看見
(3)Spark集群高可用的搭建
(1)基于文件系統的HA
存儲原數據,缺點:需要手動的去切換Master
(2)基于zookeeper管理的HA
存儲原數據,自動選舉功能
(1)在spark.env.sh中進行修改
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=node02:2181,node03:2181,node04:2181 -Dspa rk.deploy.zookeeper.dir=/spark"
(2)并重新分發給所有的spark集群節點
(3)node02的SPARK_MASTER_IP修改為node02,因為要在node02上啟動備用Master
(4)開啟spark集群服務
總結:當提交application的時候,切換主備節點會影響提交。當切換完成后,application會繼續進行提交;當已經申請完資源后,master的切換不影響task任務的運行。
總結
以上是生活随笔為你收集整理的spark ui的访问地址_Spark篇之HA集群搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux tcp文件分包_Linux网
- 下一篇: 双眼融合训练一个月_视觉融合你知道多少