1. 程式人生 > >Docker下安裝Hadoop和Spark叢集

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賬號,如果有任何問題隨時可以留言