3、yarn-site.xmlnode
1.ResourceManager的配置,参考:Hadoop YARN配置参数剖析(1)—RM与NM相关参数linux
!yarn.resourcemanager.ha.enabled=false。web
非YARN HA使用默认配置shell
YARN HA使用以下配置apache
<property> <name>yarn.resourcemanager.ha.enabled</name> <value>true</value> </property>
!yarn.resourcemanager.ha.rm-ids=。浏览器
非YARN HA使用默认配置服务器
YARN HA使用以下配置app
<property> <name>yarn.resourcemanager.ha.rm-ids</name> <value>rm1,rm2</value> </property>
!yarn.resourcemanager.ha.id=。webapp
非YARN HA使用默认配置ide
YARN HA使用以下配置
<property> <name>yarn.resourcemanager.ha.id</name> <value>rm1</value> </property>
注意:此配置在不一样的机器上ResourceManager是不同的,在另一台ResourceManger,值就是rm2了,而在别的NodeManger上,这一项就须要删除,不配置。
!yarn.resourcemanager.hostname.rm1=。
非YARN HA使用默认配置
YARN HA使用以下配置
<property> <name>yarn.resourcemanager.hostname.rm1</name> <value>bigdata1</value> </property>
!yarn.resourcemanager.hostname.rm2=。
非YARN HA使用默认配置
YARN HA使用以下配置
<property> <name>yarn.resourcemanager.hostname.rm2</name> <value>bigdata2</value> </property>
!yarn.resourcemanager.recovery.enabled=false。
非YARN HA使用默认配置
YARN HA使用以下配置
<property> <name>yarn.resourcemanager.recovery.enabled</name> <value>true</value> </property>
!yarn.resourcemanager.store.class=org.apache.hadoop.yarn.server.resourcemanager.recovery.FileSystemRMStateStore。
非YARN HA使用默认配置
YARN HA使用以下配置
<property> <name>yarn.resourcemanager.store.class</name> <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value> </property>
!yarn.resourcemanager.zk-address=。
非YARN HA使用默认配置
YARN HA使用以下配置
<property> <name>yarn.resourcemanager.zk-address</name> <value>bigdata2:2181,bigdata3:2181,bigdata4:2181</value> </property>
!yarn.resourcemanager.cluster-id=。
非YARN HA使用默认配置
YARN HA使用以下配置
<property> <name>yarn.resourcemanager.cluster-id</name> <value>yarn-cluster</value> </property>
!yarn.resourcemanager.ha.automatic-failover.enabled=true。
非YARN HA使用默认配置
YARN HA使用以下配置
<property> <name>yarn.resourcemanager.ha.automatic-failover.enabled</name> <value>true</value> </property>
!yarn.resourcemanager.ha.automatic-failover.zk-base-path=/yarn-leader-election。
非YARN HA时,这个属性应该用不上,因此使用默认配置。
YARN HA使用默认配置
!yarn.client.failover-proxy-provider=org.apache.hadoop.yarn.client.ConfiguredRMFailoverProxyProvider。
非YARN HA使用默认配置
YARN HA使用默认配置
注意:此处不能使用RMFailoverProxyProvider,由于RMFailoverProxyProvider是个接口,会提示找不到init方法。
!yarn.resourcemanager.hostname=0.0.0.0。
非YARN HA使用以下配置
<property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property>
YARN HA使用默认配置
配置好yarn.resourcemanager.hostname,后面不少配置默认都须要使用到此属性,是指ResourceManager的地址。
注意:hadoop2.0.0版本没有此属性。
!yarn.resourcemanager.address=${yarn.resourcemanager.hostname}:8032。
非YARN HA使用默认配置
YARN HA使用以下配置
<property> <name>yarn.resourcemanager.address.rm1</name> <value>bigdata1:23140</value> </property> <property> <name>yarn.resourcemanager.address.rm2</name> <value>bigdata2:33140</value> </property>
ResourceManager 对客户端暴露的地址。客户端经过该地址向RM提交应用程序,杀死应用程序等。
注意:hadoop2.0.0版本默认值为0.0.0.0:8032,可改成:master:8032。
!yarn.resourcemanager.scheduler.address=${yarn.resourcemanager.hostname}:8030。
非YARN HA使用默认配置
YARN HA使用以下配置
<property> <name>yarn.resourcemanager.scheduler.address.rm1</name> <value>bigdata1:23130</value> </property> <property> <name>yarn.resourcemanager.scheduler.address.rm2</name> <value>bigdata2:33130</value> </property>
ResourceManager 对ApplicationMaster暴露的访问地址。ApplicationMaster经过该地址向RM申请资源、释放资源等。
注意:hadoop2.0.0版本默认值为0.0.0.0:8030,可改成:master:8030。
!yarn.resourcemanager.resource-tracker.address=${yarn.resourcemanager.hostname}:8031。
非YARN HA使用默认配置
YARN HA使用以下配置
<property> <name>yarn.resourcemanager.resource-tracker.address.rm1</name> <value>bigdata1:23125</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address.rm2</name> <value>bigdata2:33125</value> </property>
ResourceManager 对NodeManager暴露的地址.。NodeManager经过该地址向RM汇报心跳,领取任务等。
注意:hadoop2.0.0版本默认值为0.0.0.0:8031,可改成:master:8031。
!yarn.resourcemanager.webapp.address=${yarn.resourcemanager.hostname}:8088。
非YARN HA使用默认配置
YARN HA使用以下配置
<property> <name>yarn.resourcemanager.webapp.address.rm1</name> <value>bigdata1:23188</value> </property> <property> <name>yarn.resourcemanager.webapp.address.rm2</name> <value>bigdata2:33188</value> </property>
ResourceManager对外web ui地址。用户可经过该地址在浏览器中查看集群各种信息。
注意:hadoop2.0.0版本默认值为0.0.0.0:8088,可改成:master:8088。
!yarn.resourcemanager.admin.address=${yarn.resourcemanager.hostname}:8033。
非YARN HA使用默认配置
YARN HA使用以下配置
<property> <name>yarn.resourcemanager.admin.address.rm1</name> <value>bigdata1:23141</value> </property> <property> <name>yarn.resourcemanager.admin.address.rm2</name> <value>bigdata2:33141</value> </property>
ResourceManager 对管理员暴露的访问地址。管理员经过该地址向RM发送管理命令等。
注意:hadoop2.0.0版本默认值为0.0.0.0:8033,可改成:master:8033。
!yarn.resourcemanager.webapp.https.address=${yarn.resourcemanager.hostname}:8090,推荐使用默认配置。
ResourceManager对外的https地址。
注意:hadoop2.0.0版本默认值为0.0.0.0:8090,可改成:master:8090。
!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目录。推荐使用默认配置。
远程日志目录子目录名称(启用日志汇集功能时有效)。
4、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版本没有此属性。