配置yarn平臺程式執行的歷史服務,日誌檢視功能
一,MapReduce historyserver(歷史服務)
1. 歷史伺服器:檢視已經執行完成的應用記錄
修改mapred-site.xml
指定historyserver的地址,內部和外部通訊埠號,如果不指定預設是本機
historyserver是一個輕量級的服務,可以部署在任意一臺節點上
2. 配置(在mapred-site.xml中):
注意:這裡的埠號不能隨便修改
<property>
<name>mapreduce.jobhistory.address</name>
<value>hostname:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hostname:19888</value>
</property>
3. 啟動歷史日誌服務 sbin/mr-jobhistory-daemon.sh start historyserver
歷史服務資訊:
二,日誌聚合功能
1. 修改yarn-site.xml
指定開啟聚合功能
指定日誌存放在HDFS上的時間期限,一般建議3-7天左右。
存放在HDFS的/tmp/logs/使用者之下(若檢視該目錄提示:Permission denied: user=dr.who, access=READ_EXECUTE, inode="/tmp”。 可執行bin/hdfs dfs -chmod -R 755 /tmp修改許可權進行訪問)
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>106800</value>
</property>
2. 重啟yarn程序並啟動歷史日誌服務
先關掉之前yarn程序,和歷史服務程序。
3.測試重新跑個測試mapreduce程式
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /wordcount/input/words.txt /wordcount/output2
日誌顯示結果:
4. 指定存放已經完成的Hadoop的作業記錄
(接下來的4、5、6的操作可以使用預設的值,不用修改,只是讓大家看下,是可以修改的)
<property>
<name>mapreduce.jobhistory.done-dir</name>
<value>${yarn.app.mapreduce.am.staging-dir}/history/done</value>
</property>
5. 指定存放的正在執行的Hadoop作業記錄
<property>
<name>mapreduce.jobhistory.intermediate-done-dir</name>
<value>${yarn.app.mapreduce.am.staging-dir}/history/done_intermediate</value>
<description></description>
</property>
6. 提交job作業記錄的目錄位置
<property>
<name>yarn.app.mapreduce.am.staging-dir</name>
<value>/tmp/hadoop-yarn/staging</value>
<description>The staging dir used while submitting jobs.</description>
</property>