2017年伊始,如今已经而立之年,这几年,五味杂陈,各中滋味,只能感叹时光飞逝!抱着归零的心态,春节期间,了解了一下Hadoop技术,在windows环境下,利用dockerTool box,搭建hadoop分布式集群,以便后续持续学习。整理如下:
-
Docker环境下Hadoop分布式集群搭建
-
集群环境介绍
-
服务器容器创建
-
环境验证
1.集群环境介绍
如下表所示,集群中共3台服务器,master服务器充当了namenode和jobtacker的角色。slave1和slave2充当了datanode和tasktracker的角色
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:latestdocker 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
http://www.wendq.com/wd/201702/14067.html
相关推荐
基于docker构建hadoop分布式集群,可以适用于swarm云,k8s云,mesos云。
使用Docker搭建部署Hadoop分布式集群 在网上找了很长时间都没有找到使用docker搭建hadoop分布式集群的文档,没办法,只能自己写一个了。 一:环境准备: 1:首先要有一个Centos7操作系统,可以在虚拟机中安装...
实验目的: 1. 熟悉常用的基本命令操作 2. 掌握搭建环境部署项目 3. 体会云计算虚拟化等概念 实验环境: 1. 个人电脑 Windows10 2. 远程访问 jupyterlab 虚拟机(Ubuntu20.04) ...3. Linux+hadoop 完全分布式集群搭建
包括《Hadoop集群监控与Hive高可用-向磊》,hadoop的三本圣经《Hadoop权威指南(第2版)》,《Hadoop实战》和《Hadoop源码分析完整版》。
人工智能-hadoop
centos大数据分布式集群搭建,包含hadoop spark hbase hive solr elasticsearch redis zookeeper rocketmq mongodb mariadb storm kafka docker
自己根据大数据需求搞的docker镜像,3台服务器,实现hadoop、hbase、phoenix、zookeeper、scala、kafka、hive、mysql集群环境,使用方便,快速搭建hadoop大数据集群环境,镜像拉取后可以通过一个脚本启动集群。
spark要配合Hadoop的hdfs使用,然而Hadoop的特点就是分布式,在一台主机上搭建集群有点困难,百度后发现可以使用docker构建搭建,于是开搞: github项目:https://github.com/kiwenlau/hadoop-cluster-docker ...
人工智能-Hadoop
下面来一起看看使用docker快速搭建Spark集群的方法教程。 适用人群 正在使用spark的开发者 正在学习docker或者spark的开发者 准备工作 安装docker (可选)下载java和spark with hadoop Spark集群 Spark运行时架构...
文章目录写在前面搭建好Hadoop集群环境安装Spark(Master节点上操作)配置环境变量(Master节点上操作)Spark配置(Master节点上操作)配置Worker节点启动Spark集群(在Master节点上操作)关闭Spark集群(在Master...
Hulu董西成-Hadoop YARN在异构环境下应用与实践 才云科技邓德源-谷歌容器集群管理系统实践 永信至诚张凯-CloudStack+Docker构建云端信息安全实验场 广发证券杨涛-容器化技术在股票交易系统的应用 UCloud邱模炯-IaaS...