| Hostname | 角色 |
|---|---|
| hadoop1 | NameNode DataNode NodeManager |
| hadoop2 | DataNode ResourceManager NodeManager JobHistoryServer |
| hadoop3 | DataNode Secondary NameNode NodeManager |
1、NameNode:
接收用户请求
维护文件系统的目录结构
管理文件与block之间关系,block与DataNode之间的关系
2、DataNode:
存储文件
文件被分成block存储在磁盘上
为保证数据安全,文件会有多个副本
3、Secondary NameNode:
合并来自namenode的fsimage和edits文件来更新namenode的metadata 三、Yarn平台相关节点服务
ResourceManager:
集群中所有资源的统一管理和分配,它接受来自各个节点的NodeManager的资源汇报信息,并把这些信息按照一定的策略分配给各个应用程序,是整个yarn集群中最重要的组件之一。
JobHistoryServer:
历史服务器,可以通过历史服务器查看已经运行完成的Mapreduce作业记录,比如用了多少个Map、多少个Reduce、作业提交时间、作业启动时间、作业完成时间等信息。默认情况下,历史服务器是没有启动的,需要进行参数配置才能启动。
NodeManager:
运行在单个节点上的代理,管理hadoop集群中单个计算节点,它需要与相应用程序ApplicationMaster和集群管理者ResourceManager交互,从ApplicationMaster上接收有关Contioner的命令并执行,向ResourceManager汇报各个Container运行状态和节点健康状况,并领取有关的Container的命令并执行。
| Bin | Hadoop最基本的管理脚本和使用脚本的目录,这些脚本是sbin目录下管理脚本的基础实现 。用户可以直接使用这些脚本管理和使用Hadoop |
|---|---|
| include | 对外提供的编程库头文件(具体动态库和静态库在lib目录中),这些头文件均是用C++定义的,通常用于C++程序访问HDFS或者编写MapReduce程序。 |
| etc | Hadoop的配置文件所在的目录,各类**.xml配置文件夹 |
| lib | 该目录下存放的是Hadoop运行时依赖的jar包,Hadoop在执行时会把lib目录下面的jar全部加到classpath中。 |
| libexec | 各个服务对用的shell配置文件所在的目录,可用于配置日志输出、启动参数(比如JVM参数)等基本信息。 |
| sbin | Hadoop管理脚本所在的目录,主要包含HDFS和YARN中各类服务的启动/关闭脚本, |
| share | Hadoop各个模块编译后的jar包所在的目录,也官方自带的doc手册 |
| logs | **(hadoop初始化之后才会自动生成)**该目录存放的是Hadoop运行的日志,查看日志对寻找Hadoop运行错误非常有帮助。 |
| namenode_dir | 在hdfs-site.xml配置后,hadoop首次启动会创建该目录,目录下包含edit文件和fsimage |
| datanode_dir | 在hdfs-site.xml配置后,hadoop首次启动会创建该目录:存放数据文件 |
配置系统环境变量:
vim /etc/profile export HADOOP_HOME=/opt/module/hadoop-3.1.3 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
立即生效
source /etc/profile五、配置文件 1、core-site.xml
2、hdfs-site.xmlfs.defaultFS hdfs://hadoop1:8020 hadoop.tmp.dir /opt/module/hadoop-3.1.3/data hadoop.http.staticuser.user root
3、mapred-site.xmldfs.namenode.secondary.http-address hadoop3:50090 dfs.namenode.name.dir /opt/module/hadoop-3.1.3/namenode dfs.datanode.data.dir /opt/module/hadoop-3.1.3/datanode dfs.replication 3
4、yarn-site.xmlmapreduce.framework.name yarn mapreduce.jobhistory.address hadoop2:10020 mapreduce.jobhistory.webapp.address hadoop2:19888 mapreduce.jobhistory.done-dir /history/done mapreduce.jobhistory.intermediate-done-dir /history/done_intermediate yarn.app.mapreduce.am.env HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3 mapreduce.map.env HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3 mapreduce.reduce.env HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3
5、配置启动脚本yarn.resourcemanager.hostname hadoop2 yarn.nodemanager.aux-services mapreduce_shuffle
设置start-dfs.sh和stop-dfs.sh
在文件开头增加如下内容:
HDFS_DATANODE_USER=root HADOOP_SECURE_DN_USER=hdfs HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root
设置start-yarn.sh和stop-yarn.sh
在文件开头增加如下内容:
YARN_RESOURCEMANAGER_USER=root HADOOP_SECURE_DN_USER=yarn YARN_NODEMANAGER_USER=root6、启动顺序
初始化hdfs(namenode所在节点服务器)
启动dfs(namenode所在节点服务器)
启动yarn (ResourceManager所在节点服务器)
hadoop2作为yarn主节点的JobHistoryServer服务,还需要启动historyserver
mapred --daemon start historyserver ## 在namenode上执行 hdfs namenode -format start-dfs.sh ## 在hadoop2上执行 start-yarn.sh mapred --daemon start historyserver
检查节点服务启动情况
jps六、web查看
Namenode服务:http://hadoop1:9870/dfshealth.html#tab-overview
yarn服务:http://hadoop2:8088/cluster



