Hadoop 配置文件详解

1. 决定各个服务组件在哪台服务器运行的配置

1.1. NameNode

etc/hadoop/core-site.xml

1
2
3
4
5
<property>
<!-- 决定NameNode位于哪个主机,服务监听哪个端口 -->
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>

1.2. DataNode

etc/hadoop/slaves

1
2
3
# 一行代表一个datanode所在主机
slave1
slave2

1.3. SecondaryNameNode

hdfs-site.xml

1
2
3
4
5
6
7
8
9
10
<property>
<!-- SecondaryNameNode的HTTP服务位于哪个主机,监听哪个端口 -->
<name>dfs.namenode.secondary.http-address</name>
<value>0.0.0.0:50090</value>
</property>
<property>
<!-- SecondaryNameNode的HTTPS服务位于哪个主机,监听哪个端口 -->
<name>dfs.namenode.secondary.https-address</name>
<value>0.0.0.0:50091</value>
</property>

1.4. ResourceManager

yarn-site.xml

1
2
3
4
5
<property>
<!-- ResourceManager所在主机 -->
<name>yarn.resourcemanager.hostname</name>
<value>0.0.0.0</value>
</property>

1.5. NodeManager

NodeManager和DataNode的数量是恒定1:1的关系。Hadoop的设计原则是计算向数据靠拢,故NodeManager要向DataNode靠拢。在一般情况下,DataNode在哪个节点,NodeManager就会在哪个节点启动。

DataNode的地址由slaves文件决定,所以説,NodeManager的地址也由slaves文件决定。

1
2
3
# etc/hadoop/slaves,一行代表一个datanode及nodemanager所在主机
slave1
slave2

在yarn-site.xml中有以下配置,应该是设置NodeManager服务监听的IP,而不是决定在哪台机器上启动

1
2
3
4
5
<property>
<!-- NodeManager监听的IP -->
<name>yarn.nodemanager.hostname</name>
<value>0.0.0.0</value>
</property>

1.6. MapReduce JobHistory

mapred-site.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<property>
<!-- JobHistory IPC服务 -->
<name>mapreduce.jobhistory.address</name>
<value>0.0.0.0:10020</value>
</property>
<property>
<!-- JobHistory Web UI HTTP服务 -->
<name>mapreduce.jobhistory.webapp.address</name>
<value>0.0.0.0:19888</value>
</property>
<property>
<!-- JobHistory Web UI HTTPS服务 -->
<name>mapreduce.jobhistory.webapp.https.address</name>
<value>0.0.0.0:19890</value>
</property>
panchaoxin wechat
关注我的公众号
支持一下