Hadoop完全分布式环境安装

本文详细记录了Hadoop集群的搭建过程,包括虚拟机克隆、网络配置、Hadoop安装与配置等步骤,解决了常见问题如主机名冲突、免密登录失败、依赖冲突等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在前面:这是我的作业,请勿转载。
2.1.1虚拟机克隆
右键虚拟机->管理->克隆。
在这里插入图片描述
图1-1
在这里插入图片描述

图1-2
2.1.2虚拟机网络配置
由于虚拟机是克隆的,因此需要对其进行修改配置。
(1)首先配置静态ip,使其与主机的IP不同。修改完ifcfg-ens32配置文件后,重启系统。互ping网关、ip,发现能够ping通,说明配置修改成功。
在这里插入图片描述
图1-3
(2)禁用防火墙,由于我的防火墙已经在禁用状态,故不做配置。
在这里插入图片描述

图1-4
(3)在ping百度时,报错:

只需要在配置文件中加入新的dns地址(ip与网关相同),再重启网络服务即可:

在这里插入图片描述
在这里插入图片描述

图1-5
成功ping通网关、百度:
在这里插入图片描述
在这里插入图片描述
图1-6
小结:
由于虚拟机是克隆的,因此所有的主机名都一样,需要分别修改3个主机的hostname文件,配置3个虚拟机的/etc/hosts文件,使3个虚拟机之间能够网络互通。

2021/06/22
2.1.3集群安装准备
修改主机名为slave01,并且更改映射关系,同时修改Hadoop配置文件中的主机名:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
图1-7
接下来启动 hadoop,发现无法连接,查看输出日志时发现更改hostname后无法识别现有主机名,修改主机名后同样需要修改配置文件中的主机名字,因此需要在core-site.xml和slaves文件中修改相应的主机名。
在这里插入图片描述
在这里插入图片描述

图1-8
用jps查看节点是否启动成功:
在这里插入图片描述
图1-9
可以看到,hadoop的主节点namenode并没有启动成功,通过查看输出日志,判断应该是密码输入错误的问题。由于在配置ssh免密登录时不慎修改了其他root文件,导致免密登录并没有完成。并且无法确定修改的是哪个文件,故无法对其进行还原,启动hadoop集群后仍需输入密码。重新启动试试:
在这里插入图片描述

图1-10
仍然启动失败,查看sencondaryNamenode的日志,发现FSImage有问题,删除目录,重新运行。
在这里插入图片描述

图1-11
依然无法查看到主从节点进程,切换到root用户启动Hadoop集群,发现此时Namenode和SecondaryNameNode出现了,初步判断是权限的问题:
在这里插入图片描述

图1-12
修改权限后仍然如此,因此切换到Hadoop用户,启动进程后查看namenode日志,发现找不到相关启动文件,搜索相关资料后发现Hadoop会定期删除/tmp下的内容,因此需要在hdfs-site.xml和core-site.xml内重新定向文件路径(我选择的是清空dfs中data和name下的文件),再启动发现成功了,但数据节点还未启动:

在这里插入图片描述
在这里插入图片描述

图1-13
在这里插入图片描述

图1-14
查看datanode的输出日志,发现报错:
在这里插入图片描述

图1-15
报错提示找不到这个方法,猜测是依赖冲突,slf4j-api和slf4j-log版本太低或者太高,导致Hadoop无法使用jar包。在百度上搜索了一下包的组合,把1.0.0更换成了1.5.11:
在这里插入图片描述

图1-16
重启一下,发现成功了!
在这里插入图片描述

图1-17
2.1.4 JDK的安装
JDK选择安装在hadoop的同级目录app下,由于我已装好JDK,故不再赘述。
在这里插入图片描述

图1-18
小结:
在选择与书上不同的软件版本时,需要格外留心版本冲突及配件包是否下载正确。我的错误主要是因为slf4j两个包的版本问题,最开始以为Hadoop不会出现版本冲突,以为是配置文件出错,最后才发现这两个jar包版本不对。
2021/06/23
2.1.5配置Hadoop
配置hdfs-site.xml
在这里插入图片描述

图1-19
配置core-site.xml
在这里插入图片描述

图1-20
配置mapred-site.xml
在这里插入图片描述

图1-21
配置yarn-site.xml
在这里插入图片描述

图1-22
配置masters,内容即主节点名字
在这里插入图片描述

图1-23
配置slaves,内容即从节点名字
在这里插入图片描述

图1-24
scp -r /home/hadoop/app/hadoop/etc/hadoop slave01://home/hadoop/app/hadoop/etc向从节点发送Hadoop配置文件,然后格式化。

在这里插入图片描述
在这里插入图片描述

图1-25
成功!
在这里插入图片描述

图1-26
接下来访问192.168.137.101:50070,发现无法连接;
在这里插入图片描述

图1-27
在hdfs-site.xml中添加这一段:
在这里插入图片描述

图1-28
关闭Hadoop集群,重新格式化,再启动Hadoop集群,主节点和从节点都成功了!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
图1-29
小结:
将配置文件发送后,需要对两个从节点虚拟机配置进行二次更改。这里由于我没有修改配置文件,因此在第一次访问ip:50070查看主节点dfs情况时,网页显示无法访问。配置文件中,需要添加dfs.http.address属性,0.0.0.0即代表主机号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值