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版本沒有此屬性。