可以将服务分别去配置在多台服务器上面以hadoop105,hadoop106,Hadoop107为案例
| 组件 | hadoop105 | hadoop106 | hadoop107 |
|---|---|---|---|
| HDFS | NameNode、DataNode | DataNode | SecondaryNameNode、DataNode |
| YARN | NodeManager | ResourceManager、NodeManager | NodeManager |
NAMENODE职责:
负责客户端请求的响应
元数据的管理(查询,修改)
是整个文件系统的管理节点。它维护着整个文件系统的文件目录树,文件/目录的元信息和每个文件对应的数据块列表。接收用户的操作请求。
SecondaryNameNode从NameNode上下载元数据信息(fsimage,edits),然后把二者合并,生成新的fsimage,在本地保存,并将其推送到NameNode,替换旧的fsimage.
默认在安装在NameNode节点上,但这样…不安全!
存储管理用户的文件块数据
定期向namenode汇报自身所持有的block信息(通过心跳信息上报)
(这点很重要,因为,当集群中发生某些block副本失效时,集群如何恢复block初始副本数量的问题)
需要配置4个配置文件注意:
- NameNode 和 SecondaryNameNode 不要安装在同一台服务器。
- ResourceManager 也很消耗内存,不要和 NameNode、SecondaryNameNode 配置在同一台机器上。
| 要获取的默认文件 | 文件存放在Hadoop的jar包中的位置 | 解释说明 |
|---|---|---|
| core-default.xml | hadoop-common-3.1.3.jar/core-default.xml | Hadoop的全局配置文件,配置分布式文件系统的入口地址NameNode的地址和分布式文件系统中数据落地到服务器本地磁盘位置的配置。配置 HDFS 网页登录使用的静态用户 |
| [hdfs-default.xml] | hadoop-hdfs-3.1.3.jar/hdfs-default.xml | 配置HDFS文件系统属性配置。nn web 端访问地址,2nn web 端访问地址 |
| [yarn-default.xml] | hadoop-yarn-common-3.1.3.jar/yarn-default.xml | 配置YARN的相关参数 |
| [mapred-default.xml] | hadoop-mapreduce-client-core-3.1.3.jar/mapred-default.xml | MapReduce的运行框架为YARN. |
core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml
四个配置文件存放在$HADOOP_HOME/etc/hadoop 这个路径上,用户可以根据项目需求重新进行修改配置。
案例路径:
/opt/module/hadoop-3.1.3/etc/hadoop
配置 core-site.xml
[tedu@hadoop105 hadoop]$sudo vim /opt/module/hadoop-3.1.3/etc/hadoop/core-site.xml
fs.defaultFS
hdfs://hadoop105:8020
hadoop.tmp.dir
/opt/module/hadoop-3.1.3/data
hadoop.http.staticuser.user
tedu
:wq!
配置 hdfs-site.xml
[tedu@hadoop105 hadoop]$ sudo vim /opt/module/hadoop-3.1.3/etc/hadoop/hdfs-site.xml
dfs.namenode.http-address
hadoop105:9870
dfs.namenode.secondary.http-address
hadoop107:9868
:wq!
配置 yarn-site.xml
[tedu@hadoop105 hadoop]$ sudo vim /opt/module/hadoop-3.1.3/etc/hadoop/yarn-site.xml
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.resourcemanager.hostname
hadoop106
yarn.nodemanager.env-whitelist
JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME
:wq!
mapred-site.xml
[tedu@hadoop105 hadoop]$ sudo vim /opt/module/hadoop-3.1.3/etc/hadoop/mapred-site.xml
mapreduce.framework.name
yarn
每一步修改完毕需要进行保存退出
:wq!
在集群上分发配置好的 Hadoop 配置文件
[tedu@hadoop105 hadoop]$ xsync /opt/module/hadoop-3.1.3/etc/hadoop/群起集群
1.配置 workers
[tedu@hadoop105 hadoop]$ sudo vim /opt/module/hadoop-3.1.3/etc/hadoop/workers
:wq!
注意:配置工作节点,该文件中添加的内容结尾不允许有空格,文件中不允许有空行。
2.启动集群
(1).如果集群是第一次启动,需要在 hadoop105 节点格式化 NameNode(注意:格式化 NameNode,会产生新的集群 id,导致 NameNode 和 DataNode 的集群 id 不一致,集群找不到已往数据。如果集群在运行过程中报错,需要重新格式化 NameNode 的话,一定要先停止 namenode 和 datanode 进程,并且要删除所有机器的 data 和 logs 目录,然后再进行格式化。)
[tedu@hadoop105 hadoop]$ hdfs namenode -format
格式化后我们就可以看到配置的数据文件了
(2).启动 HDFS
[tedu@hadoop105 hadoop-3.1.3]$ sbin/start-dfs.sh
hadoop105上面的节点
hadoop106节点
[tedu@hadoop106 ~]$ jps 2419 Jps 2343 DataNode
hadoop107节点
[tedu@hadoop107 ~]$ jps 2520 Jps 2473 SecondaryNameNode 2346 DataNode
启动yarn
[tedu@hadoop106 hadoop-3.1.3]$ sbin/start-yarn.sh
hadoop105
hadoop106
hadoop107
(4).Web 端查看 HDFS 的 NameNode**
- 浏览器中输入:http://hadoop105:9870
- 查看 HDFS 上存储的数据信息
(5).Web 端查看 YARN 的 ResourceManager
- 浏览器中输入:http://hadoop106:8088
- 查看 YARN 上运行的 Job 信息



