【博学谷学习记录】超强总结,用心分享|Hadoop集群环境搭建(三)
一、Hadoop配置文件修改
Hadoop安装主要就是配置文件的修改,一般在主节点进行修改,完毕后scp下发给其他各个从节点机器。
1.1 hadoop-env.sh
文件中设置的是Hadoop运行时需要的环境变量。JAVA_HOME必须设置,即使我们当前的系统中设置了JAVA_HOME,它也是不认识的,因为Hadoop即使是在本机上执行,它也是把当前的执行环境当成远程服务器。
export JAVA_HOME=/export/server/jdk1.8.0_241
#文件最后添加
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
1.2 core-site.xml
hadoop的核心配置文件,有默认的配置项core-default.xml。
core-default.xml与core-site.xml的功能是一样的,如果在core-site.xml里没有配置的属性,则会自动会获取core-default.xml里的相同属性的值。
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/export/data/hadoop-3.3.0</value>
</property>
<!-- 设置HDFS web UI用户身份 -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>
</property>
<!-- 整合hive -->
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
1.3 hdfs-site.xml
HDFS的核心配置文件,有默认的配置项hdfs-default.xml。
hdfs-default.xml与hdfs-site.xml的功能是一样的,如果在hdfs-site.xml里没有配置的属性,则会自动会获取hdfs-default.xml里的相同属性的值。
<!-- 指定secondarynamenode运行位置 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node2:50090</value>
</property>
<property>
<name>dfs.hosts.exclude</name>
<value>/export/server/hadoop-3.3.0/etc/hadoop/excludes</value>
</property>
1.4 mapred-site.xml
MapReduce的核心配置文件,有默认的配置项mapred-default.xml。
mapred-default.xml与mapred-site.xml的功能是一样的,如果在mapred-site.xml里没有配置的属性,则会自动会获取mapred-default.xml里的相同属性的值。
<property>
<name>mapreduce.framework.name</name>
<value>yarn</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>
1.5 yarn-site.xml
YARN的核心配置文件,有默认的配置项yarn-default.xml。
yarn-default.xml与yarn-site.xml的功能是一样的,如果在yarn-site.xml里没有配置的属性,则会自动会获取yarn-default.xml里的相同属性的值。
<!-- 指定YARN的主角色(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node1</value>
</property>
<!-- NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序默认值:"" -->
<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>
1.6 workers
workers文件里面记录的是集群主机名。主要作用是配合一键启动脚本如start-dfs.sh、stop-yarn.sh用来进行集群启动。这时候workers文件里面的主机标记的就是从节点角色所在的机器。
node1
node2
node3
1.7 scp同步安装包
在node1上进行了配置文件的修改,使用scp命令将修改好之后的安装包同步给集群中的其他节点。
cd /export/server
scp -r hadoop-3.3.0 root@node2:$PWD
scp -r hadoop-3.3.0 root@node3:$PWD
1.8 Hadoop环境变量
3台机器都需要配置环境变量文件。
vim /etc/profile
export HADOOP_HOME=/export/server/hadoop-3.3.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
二、Hadoop的关闭和启动
2.1 格式化HDFS
首次启动HDFS时,必须对其进行格式化操作。本质上是一些清理和准备工作,因为此时的HDFS在物理上还是不存在的。只需要在node1上进行格式化,只能格式化一次
hdfs namenode -format
2.2 集群启动和关闭-方式1
要启动Hadoop集群,需要启动HDFS和YARN两个集群。
2.2.1 启动HDFS集群
-- 选择node1节点启动NameNode节点
hdfs --daemon start namenode
-- 在所有节点上启动DataNode
hdfs --daemon start datanode
-- 在node2启动Secondary NameNode
hdfs --daemon start secondarynamenode
2.2.2 启动YARN集群
-- 选择node1节点启动ResourceManager节点
yarn --daemon start resourcemanager
-- 在所有节点上启动NodeManager
yarn --daemon start nodemanager
-- 启动历史服务
mapred --daemon start historyserver
注意:如果在启动之后,有些服务没有启动成功,则需要查看启动日志,Hadoop的启动日志在每台主机的/export/server/hadoop-x.x.x/logs/目录,需要根据哪台主机的哪个服务启动情况去对应的主机上查看相应的日志,以下是node1主机的日志目录。
2.3 集群启动和关闭-方式2
2.3.1 启动HDFS集群
-- 在node1执行
start-dfs.sh
stop-dfs.sh
2.3.2 YARN集群一键脚本
-- 在node1执行
start-yarn.sh
stop-yarn.sh
-- 启动历史服务
mapred --daemon start historyserver
2.4 集群启动和关闭-方式3
-- 在node1,一键启动HDFS、YARN
start-all.sh
-- 在node1,一键关闭HDFS、YARN
stop-all.sh
-- 启动历史服务
mapred --daemon start historyserver
2.5 配置windows域名映射
- 以管理员身份打开C:\Windows\System32\drivers\etc目录下的hosts文件。
- 在文件最后添加以下映射域名和ip映射关系。
- 保存退出。
2.6 访问WebUI
NameNode: http://node1:9870
YARN: http://node1:8088
三、总结
本文介绍了Hadoop集群部署后的相关配置文件修改,配置文件的修改决定了Hadoop集群是否能够成功启动。对于Hadoop集群的启动,本文详细的介绍了3种方式,具体使用哪一种方式启动Hadoop集群则因人而异,根据实际需求进行不同的选择。推荐使用方式3,因为更便捷。