1.集群部署规划
NameNode 和 SecondaryNameNode 不要安装在同一台服务器
ResourceManager 也很消耗内存,不要和 NameNode、SecondaryNameNode 配置在
同一台机器上。
在文章中与教材上有区别,在理论课上已讲解。
master | slave01 | slave02 | |
HDFS | NameNode DataNode | DataNode | SecondaryNameNode DataNode |
YARN | NodeManager | ResourceManager NodeManager | NodeManager |
历史日志服务器将会配置在master上。
2.配置文件说明
Hadoop配置文件分两类:默认配置文件和自定义配置文件,只有用户想修改某一默认配置值时,才需要修改自定义配置文件,更改相应属性值。
(1)默认配置文件:
要获取的默认文件 文件存放在 Hadoop 的 jar 包中的位置
core-default.xml | hadoop-common-3.1.4.jar/core-default.xml |
hdfs-default.xml | hadoop-hdfs-3.1.4.jar/hdfs-default.xml |
yarn-default.xml | hadoop-yarn-common-3.1.4.jar/yarn-default.xml |
mapred-default.xml | hadoop-mapreduce-client-core-3.1.4.jar/mapred-default.xml |
(2)自定义配置文件:
core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml 、workers五个配置文件存放在
$HADOOP_HOME/etc/hadoop 这个路径上,用户可以根据项目需求重新进行修改配置。
(3)修改配置文件
core-site.xml
<!--指定NameNode的地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:8020</value>
</property>
<!--指定hadoop数据的存储目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-3.1.4/data</value>
</property>
<!--配置HDFS网页登录使用的静态用户为yt-->
<!-- <property>
<name>hadoop.http.staticuser.user</name>
<value>yt</value>
</property>-->
配置hdfs-site.xml
<!--nn web 端访问地址-->
<property>
<name>dfs.namenode.http-address</name>
<value>master:9870</value>
</property>
<!--2nn web 端访问地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave02:9868</value>
</property>
配置yarn-site.xml
<!--指定MR的shuffle-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--指定ResourceManager的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>slave01</value>
</property>
<!--环境变量的继承-->
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
<!--开启日志聚集功能-->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!--设置日志聚集服务器地址-->
<property>
<name>yarn.log.server.url</name>
<value>http://master:19888/jobhistory/logs</value>
</property>
<!--设置日志保留时间为7天-->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
配置mapred-site.xml
<!--指定MapReduce程序运行在yarn上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!--历史服务器web端地址-->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
配置workers
注意编辑workers文件时添加的内容结尾不允许有空格,文件中不允许有空行。
(4)分发文件
完成后进入到slave01,slave02上查看文件
(5)启动集群
如果集群是第一次启动,需要在 master节点格式化 NameNode(注意:格式
化 NameNode,会产生新的集群 id,导致 NameNode 和 DataNode 的集群 id 不一致,集群找
不到已往数据。如果集群在运行过程中报错,需要重新格式化 NameNode 的话,一定要先停
止 namenode 和 datanode 进程,并且要删除所有机器的 data 和 logs 目录,然后再进行格式
化。)
输入命令: hdfs namenode -format
启动HDFS(master)
启动yarn( slave01 )需要在slave01上启动
[yt@slave01 hadoop-3.1.4]$ start-yarn.sh
启动历史服务器(master)
[yt@master hadoop-3.1.4]$ mapred --daemon start historyserver
最后查看是否启动成功
Web 端查看 HDFS 的 NameNode
(a)浏览器中输入:http://master:9870
(b)查看 HDFS 上存储的数据信息
Web 端查看 YARN 的 ResourceManager
(a)浏览器中输入:http://slave01:8088
(b)查看 YARN 上运行的 Job 信息
历史服务器地址
http://master:19888/jobhistory
(6)集群的关闭:
a.关闭历史服务器
[yt@master hadoop-3.1.4]$ mapred --daemon stop historyserver
b.关闭yarn
[yt@slave01 hadoop-3.1.4]$ stop-yarn.sh
c.最后关闭hdfs
[yt@slave01 hadoop-3.1.4]$ stop-dfs.sh
操作顺序如下:
顺序不能错。