Docker下安裝Hadoop和Spark叢集
Docker下Spark分散式叢集搭建
本教程使用docker模擬3臺主機搭建分散式Spark叢集,屬於偽分散式:
- 1、Docker安裝
- 2、下載已經配置好的Spark叢集映象檔案
- 3、新建3個容器,分別命名為cloud8,cloud9,cloud10
- 4、啟動叢集
- 5、通過web端檢視
- 6、測試案例
1、Docker安裝
Docker可以在Window下和Linux下安裝,本教程基於Ubuntu16.04之上安裝docker,注意如果你選擇在虛擬機器上安裝docker,請保證虛擬機器記憶體不小於4G,硬碟大小不小於15G
首先開啟終端命令視窗,注意如果當前使用者是root使用者則以下所有操作均無需帶 sudo
sudo apt-get install docker.io
sudo docker images
2、下載Spark映象
這個映象是我這幾天在搭分散式Spark環境時儲存下來的,為了方便大家快速搭建Spark叢集,可以在這裡下載 spark.tar下載完成之後,可以拷貝或者移動到當前使用者的home目錄下,接下來輸入命令
sudo docker load < ~/spark.tar
完成後,再次輸入命令檢視
sudo docker images
如果映象載入成功則會多出一個spark映象檔案
3、建立3個容器
輸入以下命令建立容器
docker container create -- name cloud8 -h cloud8 --add-host cloud8:172.17.0.2 --add-host cloud9:172.17.0.3 --add-host cloud10:172.17.0.4 -it spark:5.0
docker container create --name cloud9 -h cloud9 --add-host cloud8:172.17.0.2 --add-host cloud9:172.17.0.3 --add-host cloud10:172.17.0.4 -it spark:5.0
docker container create --name cloud10 -h cloud10 --add-host cloud8:172.17.0.2 --add-host cloud9:172.17.0.3 --add-host cloud10:172.17.0.4 -it spark:5.0
完成後,輸入以下命令檢視容器
sudo docker ps -a
會發現多出3個容器,名稱分別為cloud8,cloud9,cloud10
4、啟動叢集
在啟動叢集之前,需要修改一些配置檔案,首先,開啟3個命令視窗,按順序在3個視窗輸入以下命令
sudo docker start -i cloud8
sudo docker start -i cloud9
sudo docker start -i cloud10
此時,應該可以看到,三個視窗分別顯示進入了cloud8,cloud9,cloud10三臺主機
下面在三個視窗中執行以下命令
vi ~/hadoop/etc/hadoop/myid
按i鍵開始編輯,將cloud8中的值改為1,cloud9中的值改為2,cloud10中的值改為3
接下來在三個命令視窗中輸入以下命令
zkServer.sh start
顯示started則表示啟動成功,注意一定要保證3個視窗都啟動成功
接下來啟動dfs,Hadoop,Spark,注意下面輸入命令都是在cloud8中進行
start-dfs.sh
start-yarn.sh
start-all.sh
如果中間沒有報錯(警告資訊可以忽略),則當前已經啟動了Hadoop和Spark叢集了
5、在瀏覽器中檢視
可以在瀏覽器中新建3個視窗,分別輸入172.17.0.2:8080,172.17.0.2:8088,172.17.0.2:50070,如果所有頁面均能開啟,則表示叢集啟動成功
6、測試案例
接下來可以在cloud8視窗中輸入spark-shell ,進入spark互動模型,通過寫scala程式碼給Spark叢集編寫任務,詳細的測試案例待續。。。
如果要退出叢集,則在3個視窗分別輸入exit即可,下一次再次進入叢集流程為從上面第4步往下執行(注意此時不需要在修改myid值),最後歡迎大家關注我的CSDN賬號,如果有任何問題隨時可以留言