使用docker搭建hadoop集群

 我来答
大沈他次苹0B
2022-07-29 · TA获得超过7345个赞
知道大有可为答主
回答量:3059
采纳率:100%
帮助的人:180万
展开全部

启动docker:

看到Successfully built 即构建成功

构建的三个镜像如下:

但是由于docker容器重新启动之后ip会发生变化,所以需要我们给docker设置固定ip。使用pipework给 docker容器设置固定ip

下面的步骤就是hadoop集群的配置过程

在hadoop1上执行下面操作

在hadoop2上执行下面操作

(2)core-site.xml

(3)hdfs-site.xml

(4)yarn-site.xml

(5)修改文件名:mv mapred-site.xml.template mapred-site.xml
vi mapred-site.xml

(6)格式化
进入到/usr/local/hadoop目录下

看到下面命令说明格式化成功。

格式化操作不能重复执行。如果一定要重复格式化,带参数-force即可。
(7)启动伪分布hadoop

第一次启动的过程中需要输入yes确认一下。

使用jps,检查进程是否正常启动?能看到下面几个进程表示伪分布启动成功

(8)停止伪分布hadoop

(9)指定nodemanager的地址,修改文件yarn-site.xml

(10)修改hadoop0中hadoop的一个配置文件etc/hadoop/slaves
删除原来的所有内容,修改为如下

(11)在hadoop0中执行命令

(12)启动hadoop分布式集群服务

注意:在执行的时候会报错,是因为两个从节点缺少which命令,安装即可

分别在两个从节点执行下面命令安装

yum install -y which
1
再启动集群(如果集群已启动,需要先停止)

(13)验证集群是否正常
首先查看进程:
Hadoop0上需要有这几个进程

Hadoop1上需要有这几个进程

Hadoop2上需要有这几个进程

使用程序验证集群服务
创建一个本地文件

上传a.txt到hdfs上

执行wordcount程序

查看程序执行结果

这样就说明集群正常了。

在这可以直接通过宿主机访问容器中hadoop集群的服务
宿主机的ip为:192.168.1.27

http://192.168.1.27:50070/
http://192.168.1.27:8088/

停止三个容器,在宿主机上执行下面命令

容器停止之后,之前设置的固定ip也会消失,重新再使用这几个容器的时候还需要重新设置固定ip
先把之前停止的三个容器起来

在宿主机上执行下面命令重新给容器设置固定ip

还需要重新在容器中配置主机名和ip的映射关系,每次都手工写比较麻烦
写一个脚本,runhosts.sh

添加执行权限, chmod +x runhosts.sh
把这个脚本拷贝到所有节点,并且分别执行这个脚本

执行脚本的命令 ./runhosts.sh

查看/etc/hosts文件中是否添加成功

注意: 有一些docker版本中不会在hosts文件中自动生成下面这些映射,所以我们才在这里手工给容器设置固定ip,并设置主机名和ip的映射关系。

启动hadoop集群

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式