Docker部署Hadoop集群

搭建一个集群环境时需要多台服务器,对于我们个人,这通常是个门槛,需要使用虚拟机,安装操作系统,然后运行起来多个虚机。

前几天写了文章“Hadoop 集群搭建”之后,一个朋友留言说希望介绍下如何使用Docker部署,这个建议很好,Docker不仅在生产环境威力巨大,对于我们在自己电脑中搭建学习实验环境更是非常便利。搭建一个集群环境时需要多台服务器,对于我们个人,这通常是个门槛,需要使用虚拟机,安装操作系统,然后运行起来多个虚机。

hadoop

安装操作系统是个不太轻松的任务,并且运行多个虚机对个人电脑性能也有一定要求,这些门槛影响了很多小伙伴的实践积极性,使用Docker的话就简单了,不用安装操作系统,直接下载一个镜像,如centos,这样操作系统就有了,基于这个系统镜像运行多个容器,就相当于起了多个虚机,而且系统性能的消耗要远小于虚拟机。假设我们有一个 centos7 镜像,启动多个容器,每个容器都有一个IP,都能通过SSH连接操作,这样就可以在每个容器中安装 JAVA Hadoop,从而搭建起集群环境了。

使用Docker搭建Hadoop 集群的过程包括:

安装Docker获取centos镜像安装SSH为容器配置IP安装JAVA和Hadoop

配置Hadoop

第1步比较简单,去Docker官网下载安装就好,第5和第6步与在独立服务器中的操作是一样的,所以这里就介绍一下2-4步的Docker操作方式

获取centos7镜像

大概是70多M,使用阿里云等Docker加速器的话很快就能下载完,之后在镜像列表中就可以看到查看镜像列表的命令:

安装SSH

以centos7镜像为基础,构建一个带有SSH功能的centos

内容:

这段内容的大意是:以 centos 镜像为基础,安装SSH的相关包,设置了root用户的密码为 111111,并启动SSH服务

执行构建镜像的命令,新镜像命名为 centos7-ssh

执行完成后,可以在镜像列表中看到

设置固定IP

需要用到 pipework,他用于给容器设置IP

先下载

安装bridge-utils

创建网络

基于 centos7-ssh 这个镜像启动一个容器,名为 centos7.ssh

设置IP

为名为 centos7.ssh 的容器指定了IP 192.168.3.20

分别使用 ping 与 ssh 命令进行验证,看是否可以ping通和成功登录

ssh成功登录后,就意味着已经准备好了一台服务器,再运行2个容器、设置好IP,那么就相当于有了3台服务器

这样就有了3个可以SSH连接的容器,可以在上面安装和配置集群环境了

构建Hadoop镜像

上面是运行了3个centos容器,需要在每个容器中单独安装Hadoop环境,我们可以像构建SSH镜像一样,构建一个Hadoop镜像,然后运行3个Hadoop容器,这样就更简单了

内容:

这里是基于 centos7-ssh 这个镜像,把 JAVA 和 Hadoop 的环境都配置好了

前提:在Dockerfile所在目录下准备好 jdk-8u101-linux-x64.tar.gz 与 hadoop-2.7.3.tar.gz

执行构建命令,新镜像命名为 hadoop

运行3个hadoop容器,分别命名为 hadoop0,hadoop1,hadoop2,hadoop0 作为master

容器hadoop0启动时,映射了端口号,50070和8088,是用来在浏览器中访问hadoop WEB界面的

配置IP

配置Hadoop集群

新开3个终端窗口,分别连接到 hadoop0,hadoop1,hadoop2,便于操作

在各个容器中修改 /etc/hosts,添加:

接下来就是配置SSH免登录,及hadoop的配置文件了,方法和之前“ Hadoop集群搭建 ”中的一样

这样就使用Docker实现了Hadoop集群的搭建

结语

感谢您的观看,如有不足之处,欢迎批评指正。

如果有对大数据感兴趣的小伙伴或者是从事大数据的老司机可以加群:

658558542    (☛点击即可加入群聊)

里面整理了一大份学习资料,全都是些干货,包括大数据技术入门,海量数据高级分析语言,海量数据存储分布式存储,以及海量数据分析分布式计算等部分,送给每一位大数据小伙伴,这里不止是小白聚集地,还有大牛在线解答!欢迎初学和进阶中的小伙伴一起进群学习交流,共同进步!

最后祝福所有遇到瓶颈的大数据程序员们突破自己,祝福大家在往后的工作与面试中一切顺利。

你可能感兴趣的:(Docker部署Hadoop集群)