Hadoop完全分布式搭建(文件配置)
集群部署规划
|
hadoop132 |
hadoop133 |
hadoop134 |
HDFS
|
NameNode DataNode |
DataNode |
SecondaryNameNode DataNode |
YARN |
NodeManager |
ResourceManager NodeManager |
NodeManager |
配置集群
自定义配置文件存放在$HADOOP_HOME/etc/hadoop这个路径上,用户可以根据项目需求重新进行修改配置。
(1)核心配置文件
配置core-site.xml
[user@hadoop132 hadoop]$ vim core-site.xml
在该文件中编写如下配置:
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop132:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>
如下图:
(2)HDFS配置文件
配置hadoop-env.sh
[user@hadoop132 hadoop]$ vim hadoop-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
如下图:
配置hdfs-site.xml
[user@hadoop132 hadoop]$ vim hdfs-site.xml
在该文件中编写如下配置:
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- 指定Hadoop辅助名称节点主机配置 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop134:50090</value>
</property>
如下图:
(3)YARN配置文件
配置yarn-env.sh
[user@hadoop132 hadoop]$ vim yarn-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
如下图:
配置yarn-site.xml
[user@hadoop132 hadoop]$ vim yarn-site.xml
在该文件中增加如下配置:
<!-- Reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop133</value>
</property>
<!-- 日志聚集功能使能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 日志保留时间设置7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
如下图:
注:日志聚集功能,可以方便的查看到程序运行详情,方便开发调试,为可选内容。
(4)MapReduce配置文件
配置mapred-env.sh
[user@hadoop132 hadoop]$ vim mapred-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
如下图:
配置mapred-site.xml
将mapred-site.xml.template重新命名为mapred-site.xml
[user@hadoop132 hadoop]$ mv mapred-site.xml.template mapred-site.xml
[user@hadoop132 hadoop]$ vim mapred-site.xml
在该文件中增加如下配置:
<!-- 指定MR运行在YARN上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- 历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop132:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop132:19888</value>
</property>
如下图:
注:配置历史服务器,方便查看程序的历史运行情况,为可选内容。
(5)配置slaves
[user@hadoop132 hadoop]$ vim slaves
在该文件中增加如下内容:
hadoop132
hadoop133
hadoop134
注:该文件中添加的内容结尾不允许有空格,文件中不允许有空行。
(6)在集群上分发配置好的Hadoop配置文件
[user@hadoop132 hadoop]$ xsync /opt/module/hadoop-2.7.2/
(7)查看文件分发情况
[user@hadoop133 hadoop]$ cat /opt/module/hadoop-2.7.2/etc/hadoop/core-site.xml
启动集群
(1)如果集群是第一次启动,需要格式化NameNode(注意格式化之前,一定要先停止上次启动的所有namenode和datanode进程,然后再删除data和log数据)
[user@hadoop132 hadoop-2.7.2]$ bin/hdfs namenode -format
(2)启动HDFS
[user@hadoop132 hadoop-2.7.2]$ sbin/start-dfs.sh
(3)启动YARN
[user@hadoop133 hadoop-2.7.2]$ sbin/start-yarn.sh
注:NameNode和ResourceManger如果不是同一台机器,不能在NameNode上启动 YARN,应该在ResouceManager所在的机器上启动YARN。
(4)Web端查看SecondaryNameNode
(a)浏览器中输入:http://hadoop134:50090/status.html
(b)查看SecondaryNameNode信息。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通