我們可以通過Hadoop jar的命令來實現我們的程式jar包的執行,關於執行的紀錄檔,我們一般都需要通過啟動一個服務來進行檢視,就是我們的JobHistoryServer,我們可以啟動一個程序,專門用於檢視我們的任務提交的紀錄檔
要修改的組態檔中要將value裡面的node01修改為namenode主機名
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
vim mapred-site.xml
namenode伺服器修改mapred-site.xml,新增以下設定:
<property>
<name>mapreduce.jobhistory.address</name>
<value>node01:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>node01:19888</value>
</property>
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
vim yarn-site.xml
namenode伺服器修改mapred-site.xml,新增以下設定:
<property>
<!--是否啟用紀錄檔聚合功能,紀錄檔聚合開啟後儲存到HDFS上。-->
<name>yarn.log-aggregation-enable</name> <value>true</value>
</property>
<property>
<!--聚合後的紀錄檔在HDFS上儲存多長時間,單位為s-->
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
<property>
<!--指定檔案壓縮型別用於壓縮彙總紀錄檔-->
<name>yarn.nodemanager.log-aggregation.compression-type</name>
<value>gz</value>
</property>
<!-- nodemanager本地檔案儲存目錄-->
<property>
<name>yarn.nodemanager.local-dirs</name>
<value>/export/servers/hadoop-2.6.0/yarn/local</value>
</property>
<!-- resourceManager 儲存最大的任務完成個數 -->
<property>
<name>yarn.resourcemanager.max-completed-applications</name>
<value>1000</value>
</property>
將namenode修改後的mapred-site.xml和yarn-site.xml分發到其他機器上面去:
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
scp mapred-site.xml yarn-site.xml node02:$PWD
scp mapred-site.xml yarn-site.xml node03:$PWD
cd /export/servers/hadoop-2.6.0-cdh5.14.0/sbin/
stop-yarn.sh
start-yarn.sh
cd /export/servers/hadoop-2.6.0-cdh5.14.0/sbin/
sbin/mr-jobhistory-daemon.sh start historyserver
http://namenode節點IP:19888