#在configuration标签内添加内容
<!-- 设置SNN进程运行机器位置信息 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node2:9868</value>
</property>
补充:这里指定secondarynamenode在node2上,也就意味着我们jps时,这个进程是显示在node2节点上,而不是node1,如果想要放在node1上,只需修改value的值即可。
4、mapred-site.xml
作用:mapreduce相关的
注意:有些版本是没有mapred-site.xml文件的,只有mapred-site.xml.template模板,可以先复制一份这样的模板,再去修改。
1)备份mapred-site.xml.template
cp mapred-site.xml.template mapred-site.xml
如果有mapred-site.xml,忽略这一步。
2)修改文件
vi mapred-site.xml
<!-- 设置MR程序默认运行模式: yarn集群模式 local本地模式 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- MR程序历史服务地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>node1:10020</value>
</property>
<!-- MR程序历史服务器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>node1:19888</value>
</property>
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP\_HOME}</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP\_HOME}</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP\_HOME}</value>
</property>
5、yarn-site.xml
作用:与yarn相关的,指定resourcemanager的位置信息。
vi yarn-site.xml
#在configuration标签内添加内容
<!-- 设置YARN集群主角色运行机器位置 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node1</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 是否将对容器实施物理内存限制 -->
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<!-- 是否将对容器实施虚拟内存限制。 -->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
<!-- 开启日志聚集 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 设置yarn历史服务器地址 -->
<property>
<name>yarn.log.server.url</name>
<value>http://node1:19888/jobhistory/logs</value>
</property>
<!-- 历史日志保存的时间 7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
6、workers
作用:指定工作的节点有哪些。
注意:在hadoop3.0以前,这个文件叫slaves,3.0之后叫做workers。由于我这里是hadoop3.3.0,所以
vi workers
把文件里面的localhost删除,添加以下内容
node1
node2
node3
补充: /etc/hosts 和 workers 这两个文件里的主机名写法应该保持一致,否则会导致启动集群时,系统无法识别主机名。比如我/etc/hosts 里写的是node1,那 workers 里写的也应该是node1,而不是node1.itcast.cn。
至此,配置文件修改完成。
三、分发同步hadoop
先前并没有同步hadoop服务,是因为想等修改好配置文件后,再把整个hadoop目录同步过去。
1)回到服务安装路径下,也就是我这里的/export/servers
。
cd /export/servers
2)执行以下命令
scp -r hadoop-3.3.0 root@node2:$PWD
scp -r hadoop-3.3.0 root@node3:$PWD
补充:$PWD表示当前节点所在的绝对路径,在这里就是/export/servers
,
在执行上述命令后,会把node1当前路径下的hadoop-3.3.0目录及其子目录、文件 复制到 node2和node3 的相同路径(/export/servers)下。也就是root@node2:/export/servers 的另一种写法。
至此,所有节点都安装了hadoop。
四、配置环境变量
光是下载好jdk和hadoop是不行的,系统不知道它们的路径,也就无法正常使用它们。就像我们在命令符界面使用某些工具时,都需要去到相应的路径才能正常使用一样。
负责环境变量的文件是/etc/profile
。
1、修改环境变量
vi /etc/profile
将下面内容添加到profile文件中,然后保存退出。
#java path
export JAVA\_HOME=/export/servers/jdk1.8.0_241
export PATH=$PATH:$JAVA\_HOME/bin
export CLASSPATH=.:$JAVA\_HOME/lib/dt.jar:$JAVA\_HOME/lib/tools.jar
#hadoop path
export HADOOP\_HOME=/export/servers/hadoop-3.3.0
export PATH=$PATH:$HADOOP\_HOME/bin:$HADOOP\_HOME/sbin
补充:一定要以自己的jdk和hadoop安装路径为准
2、分发环境变量文件
将修改好的profile分件分发给其它节点,就无需每个都配置一次。
scp /etc/profile root@node2:/etc/
scp /etc/profile root@node3:/etc/
3、使文件生效
一般情况下,保存的配置文件会在下一次启动时更新,使用以下命令可以在当前会话生效,每个节点都执行一次。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
23933)]
[外链图片转存中…(img-PHLsGbxm-1714805223933)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新