Docker搭建hadoop集群

参考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才跑得出来,集群的资源消耗很大

 

posted @ 2016-04-12 16:04  StephenLu  阅读(3595)  评论(0编辑  收藏