点击完成,克隆成功
再按照以上步骤克隆一台虚拟机,名称为hadoop104
完成后如下图
-
配置克隆的网络文件
- 开启hadoop103,切换至root用户
su - root
密码是root
- 编辑网络配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
保存退出
- 重启
reboot
- 开启hadoop104
- 切换至root用户
su - root
- 编辑网络配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
保存退出
- 重启hadoop104
reboot
-
启动hadoop102
确保3台节点启动成功
-
打开xshell,新建两个会话
- hadoop103会话
点击确定
- hadoop104会话
点击确定
- 连接
选中3个会话,点击连接
弹出如下提示,输入yes即可
搭建hadoop3.x完全分布式集群
集群规划
hadoop102 | hadoop103 | hadoop104 |
---|---|---|
namenode | resourcemanager | datanode |
datanode | datanode | nodemanager |
nodemanager | nodemanager | secondarynamenode |
-
配置host映射
- 点击hadoop102选项卡
- 编辑hosts文件
vim /etc/hosts
192.168.138.102 hadoop102 192.168.138.103 hadoop103 192.168.138.104 hadoop104
保存退出
-
配置集群ssh
- hadoop102配置ssh无密登录
ssh-keygen -t rsa
一直回车即可
ssh-copy-id hadoop102
输入yes,提示输入密码的地方输入root,这里也是没有回显的!!
如上操作再将公钥复制到hadoop103、hadoop104
ssh-copy-id hadoop103
ssh-copy-id hadoop104
- 分发hosts
xsync /etc/hosts
- hadoop103配置ssh无密登录
点击hadoop103选项卡
生成公钥
ssh-keygen -t rsa
如hadoop102的操作,将公钥复制到其他节点
ssh-copy-id hadoop102
ssh-copy-id hadoop103
ssh-copy-id hadoop104
- hadoop104配置ssh无密登录
选择hadoop104选项卡
生成公钥
ssh-keygen -t rsa
复制公钥到其他节点
ssh-copy-id hadoop102
ssh-copy-id hadoop103
ssh-copy-id hadoop104
-
上传hadoop安装包
- 回到hadoop102选项卡
创建目录
mkdir /opt/software && cd /opt/software
- 上传安装包
开启xftp
将下载好的hadoop和jdk移动到右边
回到xshell
- 创建目录并解压
mkdir /opt/module
tar -zxvf /opt/software/hadoop-3.1.3.tar.gz -c /opt/module/
tar -zxvf /opt/software/jdk-8u401-linux-x64.tar.gz -c /opt/module/
- 改名
mv /opt/module/jdk1.8.0_401/ /opt/module/jdk
-
添加java_home
- 添加java环境变量
vim /etc/profile
#java\_home export java\_home=/opt/module/jdk export path=$path:$java\_home/bin
-
添加hadoop_home
- 添加hadoop环境变量
#hadoop\_home export hadoop\_home=/opt/module/hadoop export path=$path:$hadoop\_home/bin export path=$path:$hadoop\_home/sbin
保存退出
- 刷新环境变量
source /etc/profile
- 分发环境变量
xsync /etc/profile
-
修改配置文件
- 改名
mv /opt/module/hadoop-3.1.3/ /opt/module/hadoop
- core-site.xml
vim /opt/module/hadoop/etc/hadoop/core-site.xml
<configuration> <property> <name>fs.defaultfs</name> <value>hdfs://hadoop102:8020</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/opt/module/hadoop/data</value> </property> </configuration>
保存退出
- hdfs-site.xml
vim /opt/module/hadoop/etc/hadoop/hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.namenode.http-address</name> <value>hadoop102:9870</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>hadoop104:9868</value> </property> </configuration>
- yarn-site.xml
vim /opt/module/hadoop/etc/hadoop/yarn-site.xml
<configuration> <!-- site specific yarn configuration properties --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop103</value> </property> </configuration>
- mapred-site.xml
vim /opt/module/hadoop/etc/hadoop/mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>hadoop102:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>hadoop102:19888</value> </property> </configuration>
- 在hadoop-env.sh配置java环境变量
vim /opt/module/hadoop/etc/hadoop/hadoop-env.sh
保存退出
- 在sbin/start-dfs.sh , sbin/stop-dfs.sh 两个文件顶部添加以下参数
vim /opt/module/hadoop/sbin/start-dfs.sh
hdfs\_datanode\_user=root hadoop\_secure\_dn\_user=hdfs hdfs\_namenode\_user=root hdfs\_secondarynamenode\_user=root
vim /opt/module/hadoop/sbin/stop-dfs.sh
#!/usr/bin/env bash hdfs\_datanode\_user=root hadoop\_secure\_dn\_user=hdfs hdfs\_namenode\_user=root hdfs\_secondarynamenode\_user=root
- 在sbin/start-yarn.sh , sbin/stop-yarn.sh两个文件顶部添加以下参数
vim /opt/module/hadoop/sbin/start-yarn.sh
yarn\_resourcemanager\_user=root hadoop\_secure\_dn\_user=yarn yarn\_nodemanager\_user=root
vim /opt/module/hadoop/sbin/stop-yarn.sh
yarn\_resourcemanager\_user=root
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事it行业的老鸟或是对it行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

```
vim /opt/module/hadoop/sbin/stop-yarn.sh
```
```
yarn\_resourcemanager\_user=root
[外链图片转存中…(img-lvbmujva-1714777291206)]
[外链图片转存中…(img-fjzcnd1z-1714777291206)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事it行业的老鸟或是对it行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
发表评论