參考https://github.com/kiwenlau/hadoop-cluster-docker/blob/master/start-container.sh
因為之前在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 https://github.com/kiwenlau/hadoop-cluster-docker
(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才跑得出來,集群的資源消耗很大