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才跑得出來,叢集的資源消耗很大