欢迎光临散文网 会员登陆 & 注册

使用docker部署hadoop集群

2020-09-10 11:17 作者:微软MVP-Eleven  | 我要投稿

0. 写在前面

网上也已经有很多教程了,但是其中都有不少坑,在此记录一下自己安装的过程。

目标:使用docker搭建一个一主两从三台机器的hadoop2.7.7版本的集群

准备

  • 首先要有一台内存8G以上的centos7机器,我用的是阿里云主机。

  • 其次将jdk和hadoop包上传到服务器中。

1. 步骤

大致分以下几步:

  • 安装docker

  • 基础环境准备

  • 配置网络,并启动docker容器

  • 配置host及ssh免密登录

  • 安装配置hadoop

  • 测试使用hadoop

1.1 安装docker

依次执行如下步骤安装docker。如果有docker环境的可以跳过。

1.2 基础环境准备

1.2.1 创建基础的centos7镜像

拉取官方centos7镜像

通过build Dockfile生成带ssh功能的centos镜像

创建Dockerfile文件

vi Dockerfile

将如下内容写入Dockerfile

上述内容大概意思是:以centos镜像为基础,设置密码为wqe123,安装ssh服务并启动

构建Dockerfile

docker build -t="centos7-ssh" .

将生成一个名为centos7-ssh的镜像,可以通过docker images查看

1.2.2 生成有hadoop和jdk环境的镜像

将准备好的包放在当前目录下。hadoop-2.7.7.tar.gz和jdk-8u202-linux-x64.tar.gz

通过build Dockfile生成带hadoop和jdk环境的centos镜像

刚才已经创建了一个Dockerfile了,先将他移开。mv Dockerfile Dockerfile.bak

创建Dockerfile

vi Dockerfile

将以下内容写入:

上述内容大概意思是:以上面生成的centos7-ssh为基础,将hadoop和jdk包放进去,然后配好环境变量。

构建Dockerfile

docker build -t="hadoop" .

将生成一个名为hadoop的镜像

1.3 配置网络,并启动docker容器

因为集群间必须要能网络连通,所以要先配置好网络。

创建网络

docker network create --driver bridge hadoop-br

以上命令创建了一个名为hadoop-br的bridge类型的网络

启动docker时指定网络

查看网络情况

docker network inspect hadoop-br

执行以上命令就可以看到对应的网络信息:

我们可以得知3台机器对应的ip:

172.18.0.2 hadoop1 172.18.0.3 hadoop2 172.18.0.4 hadoop3

登录docker容器,互相之间就可以ping通了。

docker exec -it hadoop1 bash
docker exec -it hadoop2 bash
docker exec -it hadoop3 bas

本文转载自博客园:

https://www.cnblogs.com/upupfeng/p/13616125.html


使用docker部署hadoop集群的评论 (共 条)

分享到微博请遵守国家法律