1. 程式人生 > >Docker搭建hadoop叢集

Docker搭建hadoop叢集

因為之前在VMware上操作Hadoop時發現資源消耗大,配置麻煩,所以思考能不能使用docker搭建Hadoop叢集,感謝上面連結的大神弄的叢集映象,所以很快就能搭建出Hadoop3節點叢集。我使用的是windows下dockerTool安裝啟動vagrant、vitrualbox

3節點Hadoop叢集搭建步驟

1. 拉取映象

docker pull index.alauda.cn/kiwenlau/hadoop-master:0.1.0

docker pull index.alauda.cn/kiwenlau/hadoop-slave:0.1.0

docker pull index.alauda.cn/kiwenlau/hadoop-base:0.1.0

docker pull index.alauda.cn/kiwenlau/serf-dnsmasq:0.1.0

檢視下載的映象

sudo docker images

hadoop-base映象是基於serf-dnsmasq映象的,hadoop-slave映象和hadoop-master映象都是基於hadoop-base映象

所以其實4個映象一共也就777.4MB:)

2. 修改映象tag

docker tag 8bd95b13fdc9 kiwenlau/hadoop-slave:0.1.0 docker tag 5da529a7093a kiwenlau/hadoop-master:0.1.0

docker tag 2017db7bb9af kiwenlau/hadoop-base:0.1.0

docker tag 94c74018c36d kiwenlau/serf-dnsmasq:0.1.0

檢視修改tag後鏡像

docker images

3.下載原始碼

(git clone http://git.oschina.net/kiwenlau/hadoop-cluster-docker)

4. 執行容器

cd hadoop-cluster-docker

./start-container.sh

一共開啟了3個容器,1個master, 2個slave

開啟容器後就進入了master容器root使用者的家目錄(/root)

檢視master的root使用者家目錄的檔案

ls

5.測試容器是否正常啟動(此時已進入master容器)

檢視hadoop叢集成員

serf members

執行結果

若結果缺少節點,可以稍等片刻,再執行"serf members"命令。因為serf agent需要時間發現所有節點。

測試ssh

ssh slave2.kiwenlau.com

6. 開啟hadoop

./start-hadoop.sh

hadoop的啟動速度取決於機器效能....vitrualbox太慢了

6.執行單詞計數

.

./run-wordcount.sh

使用記憶體3G才跑得出來,叢集的資源消耗很大