hadoop2.x的配置二

三、yarn-site.xml

1.ResourceManager的配置,参考:Hadoop YARN配置参数剖析(1)—RM与NM相关参数

1.1.yarn.resourcemanager.hostname=0.0.0.0,推荐使用如下配置。

<property>
 <name>yarn.resourcemanager.hostname</name>
 <value>master</value>
</property>

配置好yarn.resourcemanager.hostname,后面很多配置默认都需要使用到此属性,是指ResourceManager的地址。

注意:hadoop2.0.0版本没有此属性。

1.2.yarn.resourcemanager.address=${yarn.resourcemanager.hostname}:8032,推荐使用默认配置。

ResourceManager 对客户端暴露的地址。客户端通过该地址向RM提交应用程序,杀死应用程序等。

注意:hadoop2.0.0版本默认值为0.0.0.0:8032,可改为:master:8032。

1.3.yarn.resourcemanager.scheduler.address=${yarn.resourcemanager.hostname}:8030,推荐使用默认配置。

ResourceManager 对ApplicationMaster暴露的访问地址。ApplicationMaster通过该地址向RM申请资源、释放资源等。

注意:hadoop2.0.0版本默认值为0.0.0.0:8030,可改为:master:8030

1.4.yarn.resourcemanager.resource-tracker.address=${yarn.resourcemanager.hostname}:8031,推荐使用默认配置。

ResourceManager 对NodeManager暴露的地址.。NodeManager通过该地址向RM汇报心跳,领取任务等。

注意:hadoop2.0.0版本默认值为0.0.0.0:8031,可改为:master:8031

1.5.yarn.resourcemanager.webapp.address=${yarn.resourcemanager.hostname}:8088,推荐使用默认配置。

ResourceManager对外web ui地址。用户可通过该地址在浏览器中查看集群各类信息。

注意:hadoop2.0.0版本默认值为0.0.0.0:8088,可改为:master:8088

1.6.yarn.resourcemanager.admin.address=${yarn.resourcemanager.hostname}:8033,推荐使用默认配置。

ResourceManager 对管理员暴露的访问地址。管理员通过该地址向RM发送管理命令等。

注意:hadoop2.0.0版本默认值为0.0.0.0:8033,可改为:master:8033

1.7.yarn.resourcemanager.webapp.https.address=${yarn.resourcemanager.hostname}:8090,推荐使用默认配置。

ResourceManager对外的https地址。

注意:hadoop2.0.0版本默认值为0.0.0.0:8090,可改为:master:8090

1.8.yarn.resourcemanager.nodemanagers.heartbeat-interval-ms=1000,推荐使用默认配置。

NodeManager心跳间隔,单位为ms。

注意:hadoop2.0.0版本没有此属性。

2.NodeManager的配置,参考:Hadoop YARN配置参数剖析(1)—RM与NM相关参数

2.1.yarn.nodemanager.aux-services=,推荐使用如下配置。

<property>
 <name>yarn.nodemanager.aux-services</name>
 <value>mapreduce_shuffle</value>
</property>

NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序。注意在hadoop2.0.0版本配置成mapreduce.shuffle,hadoop2.2.0版本以后配置成mapreduce_shuffle,具体参照官方文档。

注意:hadoop2.0.0版本默认值为空,可改为:mapreduce.shuffle

参考:关于 hadoop-2.2 配置中的 yarn.nodemanager.aux-services 项

2.2.yarn.nodemanager.local-dirs=${hadoop.tmp.dir}/nm-local-dir此目录是本地目录。推荐使用默认配置。

中间结果存放位置,类似于1.0中的mapred.local.dir。注意,这个参数通常会配置多个目录,已分摊磁盘IO负载。

2.3.yarn.nodemanager.log-dirs=${yarn.log.dir}/userlogs此目录是本地目录。推荐使用如下配置。

<property>
 <name>yarn.nodemanager.log-dirs</name>
 <value>${hadoop.tmp.dir}/userlogs</value>
</property>

job运行日志存放地址(可配置多个目录)。如果此处需要使用默认值,则最好在yarn-env.sh配置yarn.log.dir变量,在yarn-env.sh中,默认是yarn.log.dir=$YARN_HOME/logs

2.4.yarn.nodemanager.log.retain-seconds=10800,推荐使用如下配置。(如果启用了日志聚集功能,推荐使用默认设置)

<property>
 <name>yarn.nodemanager.log.retain-seconds</name>
 <value>864000</value>
</property>

单位为秒,默认是3个小时,864000秒是10天。NodeManager上日志最多存放时间(只有在不启用日志聚集功能时有效)。如果服务器没有持续运行,这部分的日志是不怎么会删的。

3.yarn.application.classpath=$HADOOP_CONF_DIR,$HADOOP_COMMON_HOME/share/hadoop/common/*,$HADOOP_COMMON_HOME/share/hadoop/common/lib/*,$HADOOP_HDFS_HOME/share/hadoop/hdfs/*,$HADOOP_HDFS_HOME/share/hadoop/hdfs/lib/*,$HADOOP_YARN_HOME/share/hadoop/yarn/*,$HADOOP_YARN_HOME/share/hadoop/yarn/lib/*,推荐使用如下配置。

<property>
 <name>yarn.application.classpath</name>
 <value>$HADOOP_CONF_DIR,$HADOOP_COMMON_HOME/share/hadoop/common/*,$HADOOP_COMMON_HOME/share/hadoop/common/lib/*,$HADOOP_HDFS_HOME/share/hadoop/hdfs/*,$HADOOP_HDFS_HOME/share/hadoop/hdfs/lib/*,$HADOOP_YARN_HOME/share/hadoop/yarn/*,$HADOOP_YARN_HOME/share/hadoop/yarn/lib/*,$HADOOP_YARN_HOME/share/hadoop/mapreduce/*,$HADOOP_YARN_HOME/share/hadoop/mapreduce/lib/*</value>
</property>

相比于默认配置,此配置在最后加上了mapreduce下的包,防止某些应用(mapreduce应用,hive)提示包找不到的错误。此配置在window和linux的默认配置是不一样的,看官方的默认配置文件。

4.日志聚集的配置,参考:Hadoop YARN配置参数剖析(2)—权限与日志聚集相关参数

日志聚集是YARN提供的日志中央化管理功能,它能将运行完成的Container/任务日志上传到HDFS上,从而减轻NodeManager负 载,且提供一个中央化存储和分析机制。默认情况下,Container/任务日志存在在各个NodeManager上,如果启用日志聚集功能需要额外的配 置。

4.1.yarn.log-aggregation-enable=false,推荐使用如下配置。

<property>
 <name>yarn.log-aggregation-enable</name>
 <value>true</value>
</property>

是否启用日志聚集功能。

4.2.yarn.log-aggregation.retain-seconds=-1,推荐使用如下配置。

<property>
 <name>yarn.log-aggregation.retain-seconds</name>
 <value>864000</value>
</property>

单位为秒?864000秒是10天。在HDFS上聚集的日志最多保存多长时间。

4.3.yarn.log-aggregation.retain-check-interval-seconds=-1,推荐使用默认配置。

多长时间检查一次日志,并将满足条件的删除,如果是0或者负数,则为上一个值的1/10,即yarn.log-aggregation.retain-seconds值的1/10。

注意:hadoop2.0.0版本没有此属性。

4.4.yarn.nodemanager.remote-app-log-dir=/tmp/logs此目录是hdfs目录。推荐使用如下配置。

<property>
 <name>yarn.nodemanager.remote-app-log-dir</name>
 <value>/tmp/hadoop-yarn/aggrelogs</value>
</property>

当应用程序运行结束后,日志被转移到的HDFS目录(启用日志聚集功能时有效)。

4.5.yarn.nodemanager.remote-app-log-dir-suffix=logs此目录是hdfs目录。推荐使用默认配置。

远程日志目录子目录名称(启用日志聚集功能时有效)。

四、mapred-site.xml

1.mapreduce.framework.name=local,推荐使用如下配置。

<property>
 <name>mapreduce.framework.name</name>
 <value>yarn</value>
</property>

2.yarn.app.mapreduce.am.staging-dir=/tmp/hadoop-yarn/staging,此目录是hdfs目录。推荐使用默认配置。

job运行时的临时文件夹,后面历史服务器会用到此目录。

3.jobhistory server的配置,jobhistory server是yarn集群跑的job的一些信息,不包含任务运行日志!你可以将jobhistory server运行在slave机器上,减轻master的负担。

3.1.mapreduce.jobhistory.address=0.0.0.0:10020,推荐使用如下配置。

<property>
 <name>mapreduce.jobhistory.address</name>
 <value>slave1:10020</value>
</property>

3.2.mapreduce.jobhistory.webapp.address=0.0.0.0:19888,推荐使用如下配置。

<property>
 <name>mapreduce.jobhistory.webapp.address</name>
 <value>slave1:19888</value>
</property>

3.3.mapreduce.jobhistory.done-dir=${yarn.app.mapreduce.am.staging-dir}/history/done此目录是hdfs目录。推荐使用默认配置。

已完成的job信息存储的目录。

注意:hadoop2.0.0版本没有此属性。

3.4.mapreduce.jobhistory.intermediate-done-dir=${yarn.app.mapreduce.am.staging-dir}/history/done_intermediate此目录是hdfs目录。推荐使用默认配置。

正在执行的job信息的存储目录。

注意:hadoop2.0.0版本没有此属性。

参考:配置hadoop的jobhistory服务器

你可能感兴趣的:(hadoop2.x的配置二)