<name>yarn.resourcemanager.hostname</name>
<value>hadoop</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
![](https://img-blog.csdnimg.cn/a736c6801660477c8f8ecf6419444565.png)
![](https://img-blog.csdnimg.cn/9e0a164814f749e799af9a83b76ca7a0.png)
### 8.修改 workers 文件
vim workers
hadoop
hadoop2
hadoop3
![](https://img-blog.csdnimg.cn/46a134201f5c41a88522d109dc50160b.png)
![](https://img-blog.csdnimg.cn/abab61c5804d48c291dc043500b70df8.png)
## 三、给hadoop2、hadoop3分发文件
### 1.到存放hadoop的文件夹下
cd /opt/server/
![](https://img-blog.csdnimg.cn/4b2ce3efe0d049c9a836fc45e8a0c03c.png)
### 2.1.给hadoop2和hadoop3拷贝文件和环境变量
scp -r hadoop-3.2.4/ root@hadoop2:/opt/server/hadoop-3.2.4/
scp /etc/profile root@hadoop2:/etc/profile
![](https://img-blog.csdnimg.cn/a8e1dcc17e3e4abcae68606071ff165a.png)
![](https://img-blog.csdnimg.cn/38ddf2d8f4344e718e152f60413326db.png)
### 2.2.给hadoop2和hadoop3创建软连接
ln -s hadoop-3.2.4/ hadoop
![](https://img-blog.csdnimg.cn/8d435757c0304109aabb9b832e1b0790.png)
### 2.3.检查hadoop2和hadoop3是否拷贝成功
hadoop的配置文件拷贝给了hadoop2和hadoop3,在hadoop2打开workers。
vim workers
![](https://img-blog.csdnimg.cn/304e06273e924432a8e4f27509c55b18.png)
hadoop2的workers没被修改,说明没拷贝成功。
![](https://img-blog.csdnimg.cn/3e388a722d364dad93d62192afb39b5f.png)
### 2.4.如果没有拷贝成功就将hadoop2和hadoop3的hadoop文件夹删除,然后在拷贝一次
rm -rf hadoop-3.2.4
![](https://img-blog.csdnimg.cn/13b6b40e2fe24d95ae08c49f9e879974.png)
重复2.1的操作
## 四、修改脚本文件
### 1.切换到hadoop的sbin目录下
脚本文件都在sbin文件下。
cd /opt/server/hadoop/sbin
### 2.修改 start-dfs.sh 脚本文件
vim start-dfs.sh
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
![](https://img-blog.csdnimg.cn/beab5aa8c902404c9ca81c926ca47182.png)
![](https://img-blog.csdnimg.cn/0227326846f64ce59a26e59d1bb1ad04.png)
### 3.修改 stop-dfs.sh 脚本文件
vim stop-dfs.sh
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
![](https://img-blog.csdnimg.cn/eae83e6c07b541e8ba2ae1a6ff32bfc1.png)
![](https://img-blog.csdnimg.cn/13e3f312006a407c93d6576a01e70438.png)
4.修改start-yarn.sh 脚本文件
vim start-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
![](https://img-blog.csdnimg.cn/160ccbfa3b7949f89b0c3bcbe927cfee.png)
![](https://img-blog.csdnimg.cn/ae359993cbb040d8b3787273aea458f9.png)
### 4.修改 start-yarn.sh 脚本文件
vim start-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
![](https://img-blog.csdnimg.cn/8a3c6dd248f54d3290d4db6640691a9f.png)
![](https://img-blog.csdnimg.cn/0c84b40e5c5e4887afe5dc343b6ddbf4.png)
### 5.修改 stop-yarn.sh 脚本文件
vim stop-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
![](https://img-blog.csdnimg.cn/81377088d1fb4d65899dc65f81e2d85a.png)
![](https://img-blog.csdnimg.cn/625ecb7415ac4fa48c803607573baeac.png)
## 五、启动hadoop集群
### 1.格式化HDFS
hadoop namenode -format
![](https://img-blog.csdnimg.cn/3124a23b80034dd2b4ec92cd96758037.png)
![](https://img-blog.csdnimg.cn/a3592870fdaf4daeaa138c3b6c78c61b.png)
### 2.启动hadoop
启动hadoop和yarn一定要在sbin目录下。
./start-dfs.sh
![](https://img-blog.csdnimg.cn/b04429490abf4f8490ca53fff2b4514c.png)
### 3.启动yarn
./start-yarn.sh
![](https://img-blog.csdnimg.cn/21aca0185efd44a5b49a7d6feb9acd71.png)
### 4.查看进程
jps
![](https://img-blog.csdnimg.cn/f7dc99ca8f064dee83d70e0e4ab7d5d4.png)
### 5.关闭防火墙
#关闭
systemctl stop firewalld.service
#查看
systemctl status firewalld.service
#防火墙失效设置
systemctl disable firewalld.service
###
### 6.访问Hadoop的web网站
ip+端口
![](https://img-blog.csdnimg.cn/b7dcb780e1194dc8b164f03dd6036550.png)
### 7.停止hadoop
./stop-dfs.sh
![](https://img-blog.csdnimg.cn/66db8f60624b4679a2d2976641a31072.png)
### 8.停止yarn
./stop-yarn.sh
第一次停止yarn可能会出现以下情况:
![](https://img-blog.csdnimg.cn/fb806a103bf54f6eba6a93807c66487c.png)
再输入一次命令就好了
![](https://img-blog.csdnimg.cn/f1191f586848499fa71695363d230ca2.png)
### 9.启动hadoop和yarn遇到的问题
ERROR: JAVA\_HOME is not set and could not be found.
![](https://img-blog.csdnimg.cn/1dc806936ee74f54802298307e021652.png)
![](https://img-blog.csdnimg.cn/129b56e3e7f44dda82749924338e1c77.png)
![](https://img-blog.csdnimg.cn/fbf7bd2bd1e349038b8d389af973bbbf.png)
![](https://img-blog.csdnimg.cn/57b7d4e6b4344a70945bf9be8f9ece32.png)
出错的原因是2.3的hadoop配置文件没有成功拷贝给hadoop2和hadoop3,解决办法在2.4。
## 六、编辑启动和停止脚本文件
### 1.进入脚本文件目录
cd /opt/script/
如果没有script目录就新建一个。
mkdir script
![](https://img-blog.csdnimg.cn/8724007ad8e041baa42b3f3e86933a8e.png)
### 2.编写集群控制文件
vim hadoop.sh
#! /bin/bash
case $1 in
“start” ) {
/opt/server/hadoop/sbin/start-dfs.sh
/opt/server/hadoop/sbin/start-yarn.sh
};;
“stop”) {
/opt/server/hadoop/sbin/stop-dfs.sh
/opt/server/hadoop/sbin/stop-yarn.sh
};;
esac
![](https://img-blog.csdnimg.cn/ca8f127a159e4be0b3c80c0b88057a49.png)
![](https://img-blog.csdnimg.cn/0293d0f8662e47dfa79c13b4593d9315.png)
![](https://img-blog.csdnimg.cn/f69106010f124681b233231c368399f9.png)
### 3.给 hadoop.sh 授权
chmod 777 hadoop.sh
![](https://img-blog.csdnimg.cn/f5c6125f5cdd41c7975c5dacec732b77.png)
### 4.启动集群,查看进程
./hadoop.sh start
jps
查看hadoop进程
![](https://img-blog.csdnimg.cn/42fe23345c6c4023b3a51145074eacf6.png)
![](https://img-blog.csdnimg.cn/c0f6c6138d484e50a349c2c20c2ba599.png)
查看hadoop2进程
![](https://img-blog.csdnimg.cn/3c222e149d4f4837a9fd585c7d7cd2a0.png)
### 5.停止集群,查看进程
./hadoop.sh stop
jps
![](https://img-blog.csdnimg.cn/d1d5e3271345470e850596c70db29e25.png)
查看hadoop进程
![](https://img-blog.csdnimg.cn/5c076711e15e4393a19cb28eb741ef61.png)
查看hadoop2进程
![](https://img-blog.csdnimg.cn/ea578b3e0b4945e18eaf5325bf4a5100.png)
## 七、编辑同步执行命令脚本
### 1.编辑
vim xcall.sh
#! /bin/bash
params=$@
hosts=( hadoop hadoop2 hadoop3)
for host in ${hosts[@]}
do
echo ============ $host: $params ============
ssh
h
o
s
t
"
s
o
u
r
c
e
/
e
t
c
/
p
r
o
f
i
l
e
;
host "source /etc/profile;
host"source/etc/profile;params"
done
![](https://img-blog.csdnimg.cn/090d93237e644372a13adae94a8227dd.png)
![](https://img-blog.csdnimg.cn/950faad4b1264a57997f87d5962834ae.png)
### 2.给 xcall.sh 授权
chmod 777 xcall.sh
![](https://img-blog.csdnimg.cn/97e5c344dca94e199a7da19157c48977.png)
![](https://img-blog.csdnimg.cn/e437864c4926454595d2cf1e45abffff.png)
### 3.执行脚本
查看进程和主机名
./xcall.sh jps
./xcall.sh hostname
![](https://img-blog.csdnimg.cn/e8ad4818bade463e8b16d47f27038c65.png)
### 4.脚本的另一种写法
如果主机名是 hadoop1、hadoop2、hadoop3 可以用以下写法:
先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
业,去过华为、字节跳动等大厂,目前在阿里**
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
[外链图片转存中…(img-OGIXjubT-1714280311831)]
[外链图片转存中…(img-gEujzmvS-1714280311832)]
[外链图片转存中…(img-GcspHebz-1714280311832)]
[外链图片转存中…(img-0T51KXTX-1714280311833)]
[外链图片转存中…(img-OkYz4ZN1-1714280311833)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新