Docker环境下Hadoop分布式集群搭建

原创 2017年01月30日 23:57:28

Docker环境下Hadoop分布式集群搭建

2017年伊始,距离上篇blog更新已有3年之久,如今已经而立之年,这几年,五味杂陈,各中滋味,只能感叹时光飞逝!抱着归零的心态,春节期间,了解了一下Hadoop技术,在windows环境下,利用dockerTool box,搭建hadoop分布式集群,以便后续持续学习。整理如下:

1.集群环境介绍

如下表所示,集群中共3台服务器,master服务器充当了namenode和jobtacker的角色。slave1和slave2充当了datanode和tasktracker的角色

服务器名称 ip HDFS role MapReduce Role
master 172.18.0.10 namenode jobtracker
slave1 172.18.0.11 datanode tasktracker
slave2 172.18.0.12 datanode tasktracker

2.服务器容器创建

hadoop的docker镜像,从该网站拉取,分区拉取了namenode镜像和datanode镜像

docker pull uhopper/hadoop-namenode
docker pull uhopper/hadoop-datanode

考虑希望生成的容器具备静态ip,便于后期hdfs配置中的配置,所以先需要创建docker自定义网络,其次基于该网络,分别创建master,slave1,slave2三个容器,

docker network create --subnet=172.18.0.0/16 hadoopNet
docker run -d --name namenode1 -h master --net hadoopNet --ip 172.18.0.10 -p 50070:50070 -v //c//Users//admin//hadoop//share://home//share -e "CORE_CONF_fs_defaultFS=hdfs://172.18.0.10:8082" -e "HDFS_CONF_DFS_REPLICATION=2" -e "CLUSTER_NAME=cluster0" uhopper/hadoop-namenode:latest

docker run -d --name datanode1 -h slave1 --net hadoopNet --ip 172.18.0.11 -e "CORE_CONF_fs_defaultFS=hdfs://172.18.0.10:8082" -e "HDFS_CONF_DFS_REPLICATION=2" -e  
"CLUSTER_NAME=cluster0" uhopper/hadoop-datanode:latest

docker run -d --name datanode2 -h slave2 --net hadoopNet --ip 172.18.0.12 -e "CORE_CONF_fs_defaultFS=hdfs://172.18.0.10:8082" -e "HDFS_CONF_DFS_REPLICATION=2" -e  

具体环境变量的配置,可参考uhopper说明,值得一提的是环境变量的配置,并没有针对mapred.site.xml文件配置,个人觉得这确实是一个bug,所以还需要针对三台服务器中/etc/hadoop/mapred.site.xml,进行jobtracker单独配置。以进入master服务器为例:

docker exec -it namenode1 //bin//bash
cat /etc/hadoop/mapred.site.xml

在该mapred.site.xml文件中追加jobtacker rpc远程调用属性

<properyt>
<name>mapred.job.tracker</name>
<value>172.18.0.10:9001</value>
</property>

对于slave1,slave2,两台服务器,笔者直接用rsync同步工具,进行文件拷贝的。

最后需要修改三台服务器,/etc/hosts以及/etc/hadoop/slaves文件,文件追加节点信息,不知道为什么,如果不追加的话,当往hdfs文件系统中提交大文件的时候会报错

3.环境验证

现在可以尝试向hdfs里面追加文件了。笔者将《hadoop权威指南》里面的1901年天气数据提交到hdfs中,并提交最高气温天气计算jar包到分布式集群,生成的1901最高气温数据,保存到/output/part-r-00000文件中

hadoop fs -put /home/predator/1901 /input
hadoop jar test.jar MaxTemprature hdfs://172.18.0.10:8082/input/1901 /output

使用Docker搭建hadoop集群

使用Docker搭建hadoop集群 参考文档:http://blog.mymusise.com/?p=150 1.准备工作1.1下载软件下载一些相关的文件: jdk-8u60-linux-x...
  • wwwlxz
  • wwwlxz
  • 2016年02月23日 11:46
  • 1154

Mac下docker环境搭建

在功能测试中,Appium测试需要搭建docker环境。 1,        安装官方文档安装docker, http://docs.docker.com/installation/mac/     ...
  • libing06081227
  • libing06081227
  • 2015年08月28日 16:28
  • 350

Docker实战(十五):Docker安装Hive环境

Docker安装Hive环境
  • birdben
  • birdben
  • 2016年06月25日 20:30
  • 9263

【转】使用Docker搭建hadoop集群

转载一个大神的blog,其实我是想转载另一篇的,但是不小心 改完了,才发现 转的是 准备看的 这篇, 好吧,不严谨了。 反正都要 转,先转了。这里附上大神的博客地址刚开始搭建Hadoop集群的时候,...
  • qq_33530388
  • qq_33530388
  • 2017年05月30日 21:04
  • 1668

使用docker搭建hadoop分布式集群

使用docker搭建部署hadoop分布式集群 在网上找了很长时间都没有找到使用docker搭建hadoop分布式集群的文档,没办法,只能自己写一个了。 一:环境准备: 1:首先要有一个Cent...
  • xu470438000
  • xu470438000
  • 2016年01月13日 18:16
  • 37408

Hadoop教程(二)Hadoop伪集群环境安装

Hadoop目录说明: 1. bin: Hadoop最基本的管理脚本和使用脚本所在目录 2. etc: Hadoop配置文件所在的目录,包括core-site.xml、hdfs-site.xml、...
  • yuan_xw
  • yuan_xw
  • 2015年11月25日 17:08
  • 2435

docker环境搭建

docker环境搭建
  • rznice
  • rznice
  • 2016年08月11日 16:51
  • 7028

使用docker搭建hadoop分布式集群

使用Docker搭建部署hadoop分布式集群  在网上找了很长时间都没有找到使用docker搭建hadoop分布式集群的文档,没办法,只能自己写一个了。  一:环境准备:  1:首先要有一个Cent...
  • xuguokun1986
  • xuguokun1986
  • 2016年06月22日 15:55
  • 815

使用docker快速搭建运行环境

最近在搭建虚拟机上的运行环境,最开始是按照传统方法一个一个安装软件,一大堆软件装下确实是挺费时间的。现在容器技术非常的火,于是就去看了一下docker,完全能够满足我的需求,省时省力, 何乐而不为?什...
  • syani
  • syani
  • 2016年09月02日 07:13
  • 3608

Docker实战(十四):Docker安装Hadoop环境

Docker安装Hadoop环境
  • birdben
  • birdben
  • 2016年06月20日 23:42
  • 6710
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Docker环境下Hadoop分布式集群搭建
举报原因:
原因补充:

(最多只允许输入30个字)