三台CentOS7.6虚拟机搭建Hadoop完全分布式集群(一)

这个是笔者大学时期的大数据课程使用三台CentOS7.6虚拟机搭建完全分布式集群的案例,已成功搭建完全分布式集群,并测试跑实例。

1.安装CentOS 7.6虚拟机

1.1安装完虚拟机发现没有sudo命令和hadoop用户执行命令失败

我在安装CentOS 7.6虚拟机后,我发现不能执行sudo命令,同时hadoop用户执行命令失败。

需要执行如下操作:

①先切换到root用户,否则权限不够
su root

②为sudoers配置文件添加写权限
chmod +w /etc/sudoers

③编辑文件
vim /etc/sudoers

添加:
hadoop ALL=(ALL) ALL
jam ALL=(ALL) ALL

④去掉权限:chmod +w /etc/sudoers

su切换成hadoop用户,你会发现sudo命令和使用hadoop执行的命令没问题了。

2.三台虚拟机更改主机名

2.1master更改主机名

对于master主节点虚拟机

sudo vim /etc/hostname

将/etc/hostname里面内容修改为 LBJ(自定义,最好是master,易于区分),该虚拟机将作为主节点

重启一下,让修改生效

LBJ主节点机器更改主机名成功

2.2slave01与slave02更改主机名

对于slave01与slave02两个从节点虚拟机输入相同命令,将它们的主机名修改为slave01和slave02

slave01与slave02从节点机器修改主机名成功标志

3.三台机器修改hosts文件

3.1配置/etc/hosts文件

三台机器上用ifconfig获取各自的ip地址

然后分别 sudo vim /etc/hosts,分别将ip和映射名加入各自的该文件中(其实只需要在master节点上加入三台机器的ip和映射名即可,其它机器加了也无妨)

192.168.25.134 LBJ

192.168.25.135 slave01

192.168.25.136 slave02

退出文件,并:wq 保存

后续需要验证ip映射是否成功,直接在任意机器ping各自的主机名

3.2 master上ping命令测试

ping slave01
ping slave02

3.3 slave01上ping命令测试

ping LBJ
ping slave02

3.4 slave02上ping命令测试

ping slave01
ping LBJ

4.三台机器都关闭防火墙

4.1 master关闭防火墙

在master主节点上
cd /bin
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service

在slave01和slave02上执行同样命令操作

4.2 在slave01和slave02从节点上检查是否成功关闭防火墙和关闭防火墙开机自动重启


5.三台机机器互相配置ssh免密登陆

5.1 在master、slave01、slave02上生成公钥

以master为例,其它两台机器执行相同操作即可,其它两台机器一定要做相同操作!!!

在root目录下,
yum update #更新yum指令,防止过期
yum -y install openssh-server #安装openssh-server工具,一般自带
ssh LBJ #测试登录是否需要ssh钥匙,同时在root下创建.ssh文件夹和里面写有ip和映射名的 known hosts文件
cd ~/.ssh #进入/root/.ssh
rm ./id_rsa #测试一下id_rsa文件存不存在,存在直接删除
ssh-keygen -t rsa #指明该命令,一直按回车就好
cat ./id_rsa.pub >> ./authorized_keys #将公钥放入authorized_keys中
ssh LBJ #测试ssh免密登陆








5.2 将pub文件发往slave01、slave02

在slave01和slave02节点上只要实现免密登陆,都会在 /root下创建.ssh文件夹

在master主节点机器上
scp ~/.ssh/id_rsa.pub root@slave01: /root/.ssh/
scp ~/.ssh/id_rsa.pub root@slave02: /root/.ssh/

5.3 slave01、slave02上加入pub到认证密匙里面

认证密匙:/root/.ssh/authorized_keys

cd /root/.ssh
cat id_rsa.pub >> ~/.ssh/authorized_keys
rm id_rsa.pub # 用完以后就可以删掉master上ssh slave1验证可以免密了

以上步骤选取scp的文件夹/root/.ssh,会将原本就含有机器自身的id_rsa.pub覆盖掉,所以,我们最好不要用/root/.ssh作为路径,自定义其它路径即可。

5.4 免密登录slave01和slave02测试

注意:

5.5 继续配置slave01到LBJ、slave02的免密

正常是下面的操作
scp ~/.ssh/id_rsa.pub root@master:/root/.ssh/
scp ~/.ssh/id_rsa.pub root@slave2:/root/.ssh/

5.6 继续配置slave02到LBJ、slave01的免密

正常是下面的操作

scp ~/.ssh/id_rsa.pub root@master:/root/.ssh/
scp ~/.ssh/id_rsa.pub root@slave2:/root/.ssh/

5.7 出现无法远程登录的问题


解决方法:

修ssh改配置文件,设置为允许root远程登录:

root@ubuntu:~# vim /etc/ssh/sshd_config

将PermitRootLogin prohibie-password 修改为:PermitRootLogin yes 即可。

保存退出,重启ssh服务:

root@ubuntu:~# /etc/init.d/ssh restart

再次尝试ssh 远程登录,成功登录。

三台CentOS7.6虚拟机搭建Hadoop完全分布式集群(一)笔记到此完结,笔者归纳、创作不易,大佬们给个3连再起飞吧

相关推荐
ACP广源盛1392462567319 分钟前
GSV6155@ACP# 搭配 AI 服务器、AI PC 完整适配方案
大数据·服务器·人工智能·分布式·单片机·嵌入式硬件
stonewl25992 小时前
2026化工行业 GHS/CLP 国产标签打印软件合规打印方案
大数据·人工智能·物联网
xywww1682 小时前
AWS 账号权限怎么分:根用户和 IAM 用户区别及日常使用建议
大数据·开发语言·人工智能·python·gpt·云计算·aws
牛奶咖啡133 小时前
大数据Hadoop运维应用实践——双NameNode高可用Hadoop集群架构(下)
大数据·hadoop·hadoop集群配置文件解析·hadoop高可用集群安装部署·配置指定多台服务器相互免密·配置hadoop服务开机自启·ansible部署hadoop
在水一缸3 小时前
深度解析 GPT-5.6:大模型架构演进与复杂任务实战指南
大数据·人工智能·gpt·架构·大模型·架构演进·gpt-5.6
无忧智库3 小时前
智慧电厂:引领发电行业新革命(PPT)
大数据·人工智能
小果因子实验室4 小时前
量化研究--编写第一个回测算法策略研究
大数据·区块链
chenyulin45454 小时前
企业微信API二次开发:万级并发回调下的极致幂等性设计与防重放架构实战
大数据·人工智能·安全·架构·企业微信
BizObserver6 小时前
传统制造企业官网升级:2026数字化品牌阵地建设与服务商能力评估
大数据·人工智能·制造
leoZ2316 小时前
Git 集成实战完全指南(三):自动化 Commit 与 PR
大数据·git·elasticsearch