Docker部署Hadoop集群之安装Hadoop集群

1.hadoop是大数据处理领域的第一代的数据处理、存储引擎。在很多大公司的内部都会使用到hadoop集群,使用里面的 yarn来统一管理资源,hdfs来做为分布式存储。
Docker部署Hadoop集群之安装Hadoop集群_第1张图片
2.这一节将讲解如何通过docker 制作镜像,来安装hadoop集群。
Docker部署Hadoop集群之安装Hadoop集群_第2张图片
3.首先介绍hadoop集群里面的配置文件,因为这些配置文件是需要自己配置的,配置好之后使用ADD命令添加到镜像中。 hadoop里面涉及到7个配置文件的配置:core-site.xml、hadoop-env.sh、hdfs-site.xml、mapred-site.xml、slaves、 master、yarn-site.xml配置文件。
4.编写Dockerfile文件制作hadoop镜像。
Docker部署Hadoop集群之安装Hadoop集群_第3张图片
在这里插入图片描述
5.集群的部署首先要新建一个bigdata网络,集群中的各个组件都在该网络下运行和通信。 写成脚本build_network.sh,设置为可执行chmod 700 build_network.sh
在这里插入图片描述
查看网络详细信息。Docker部署Hadoop集群之安装Hadoop集群_第4张图片
6.集群设计:一个maste主节点,两个slave节点。
Docker部署Hadoop集群之安装Hadoop集群_第5张图片
maste、node1、node2分别是一个容器,使用制作好的Hadoop镜像,实例化三个容器。容器之间配置好ssh免密钥登录就 可以使hadoop集群运行起来。
先来看下启动maste节点容器的脚本:
docker run -itd --restart=always --net bigdata --ip 172.20.0.2 --privileged -p 18032:8032 -p
28080:18080 -p 29888:19888 -p 17077:7077 -p 51070:50070 -p 18088:8088 -p 19000:9000 -p 11100:11000 -p 51030:50030 -p 18050:8050 -p 18081:8081 -p 18900:8900 --name hadoop-maste
–hostname hadoop-maste --add-host hadoop-node1:172.20.0.3 --add-host hadoop-node2:172.20.0.4
sample/hadoop /bin/bash
这个脚本里面通过-p对外开放了很多端口,这些端口是做什么的呢?这里提供一份端口详细清 单。http://note.youdao.com/noteshare? id=bc5ba2154550c913468f4a1a94a42928&sub=12C7CC614BBA4887A58A3FE5477393C1
因为要在/etc/hosts文件中配置主机和ip的映射关系,因此使用–hostname hadoop-maste设置主节点的名字,–add- host hadoop-node1:172.20.0.3 添加node1节点,–add-host hadoop-node2:172.20.0.4 添加node2节点。–name指定 启动容器的名称。

启动Hadoop-node1容器的脚本:
docker run -itd --restart=always --net bigdata --ip 172.20.0.3 --privileged -p 18042:8042 -p
51010:50010 -p 51020:50020 --name hadoop-node1 --hostname hadoop-node1 --add-host hadoop- maste:172.20.0.2 --add-host hadoop-node2:172.20.0.4 sample/hadoop /bin/bash
仍然是使用–net 指定运行的网络,–ip指定当前容器在运行网络中的ip地址,-p指定端口映射,–name给容器起名字 为hadoop-node1,配置hostname为haoop-node1,使用add-host命令在/etc/hosts文件中增加hadoop-maste、hadoop-node2
hostname和ip的映射关系。

启动Hadoop-node2容器的脚本:
docker run -itd --restart=always --net bigdata --ip 172.20.0.4 --privileged -p 18043:8042 -p
51011:50011 -p 51021:50021 --name hadoop-node2 --hostname hadoop-node2 --add-host hadoop- maste:172.20.0.2 --add-host hadoop-node1:172.20.0.3 sample/hadoop /bin/bash
仍然是使用–net 指定运行的网络,–ip指定当前容器在运行网络中的ip地址,-p指定端口映射,–name给容器起名字 为hadoop-node1,配置hostname为haoop-node1,使用add-host命令在/etc/hosts文件中增加hadoop-maste、hadoop-node2 hostname和ip的映射关系。
将启动三个容器的命令写到一个start_container.sh脚本中。
Docker部署Hadoop集群之安装Hadoop集群_第6张图片
chmod 700 start_container.sh 直接启动三个容器。
为了停止三个容器,将三个容器停止的命令也写入stop_containers.sh脚本中。
Docker部署Hadoop集群之安装Hadoop集群_第7张图片
现在来试一下,使用start_containers.sh脚本启动三个容器。
Docker部署Hadoop集群之安装Hadoop集群_第8张图片
7.容器启动成功之后,接下来就是进入容器,使用start-hadoop.sh脚本启动haoop集群了。
Docker部署Hadoop集群之安装Hadoop集群_第9张图片
启动成功之后,退出容器。使用docker ports hadoop-maste 查看端口映射情况
Docker部署Hadoop集群之安装Hadoop集群_第10张图片
现在可以使用51070端口在浏览器中查看hadoop集群了。
Docker部署Hadoop集群之安装Hadoop集群_第11张图片
8.hadoop集群安装成功之后,可以使用hdfs命令向hadoop文件系统保存文件了。
docker exec -it hadoop-maste hdfs dfs -put ~/start-hadoop.sh /datas 将hadoop-maste容器中的~/start-hadoop.sh文件上传到hdfs的datas文件中。执行完成后,可以在浏览其中查看上传的 文件。
Docker部署Hadoop集群之安装Hadoop集群_第12张图片
至此,hadoop集群就安装好了! 更多的hadoop学习,可以看这个视频:http://edu.51cto.com/course/8443.html

你可能感兴趣的:(docker,hadoop,安装,docker,hadoop,安装,部署,集群)