Docker环境下Hadoop分布式集群搭建
2017-01-30 23:57
1346 查看
Docker环境下Hadoop分布式集群搭建
2017年伊始,距离上篇blog更新已有3年之久,如今已经而立之年,这几年,五味杂陈,各中滋味,只能感叹时光飞逝!抱着归零的心态,春节期间,了解了一下Hadoop技术,在windows环境下,利用dockerTool box,搭建hadoop分布式集群,以便后续持续学习。整理如下:Docker环境下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的spark-hadoop分布式集群之一: 环境搭建
- (六)hadoop系列之__hadoop分布式集群环境搭建
- hadoop伪分布式集群环境搭建--基于CentOS
- 基于docker搭建hadoop分布式集群(一)
- hadoop - hadoop2.6 分布式 - 集群环境搭建 - 系统搭建和网络配置
- 解决典型Hadoop分布式集群环境搭建问题
- Hadoop2.6.0 + Spark1.4.0 在Ubuntu14.10环境下的伪分布式集群的搭建(实践可用)
- 使用docker搭建hadoop分布式集群
- ubuntu上搭建eclipse下hadoop-2.7.1集群(全分布式)开发环境遇到的几个问题笔记
- 从零开始搭建hadoop分布式集群环境:(五)hadoop完全分布式集群环境配置
- 分布式集群环境hadoop1.2.0、hbase0.94.4、zookeeper、elasticsearch搭建2
- 使用docker搭建部署hadoop分布式集群
- 王家林的“云计算分布式大数据Hadoop实战高手之路---从零开始”的第五讲Hadoop图文训练课程:解决典型Hadoop分布式集群环境搭建问题
- hadoop 2.5.2 完全分布式集群环境搭建 (2)
- 在 Ubuntu 上搭建 Hadoop 分布式集群 Eclipse 开发环境
- 王家林的“云计算分布式大数据Hadoop实战高手之路---从零开始”的第五讲Hadoop图文训练课程:解决典型Hadoop分布式集群环境搭建问题
- (六)hadoop系列之__hadoop分布式集群环境搭建
- CentOS7搭建Hadoop2.6完全分布式集群环境
- DayDayUP_大数据学习课程[1]_hadoop2.6.0完全分布式集群环境和伪分布式集群搭建