Apache Hadoop YARN (Yet Another Resource Negotiator,另一種資源協調者)是一種新的 Hadoop 資源管理器,它是一個通用資源管理系統,可爲上層應用提供統一的資源管理和調度,它的引入爲集羣在利用率、資源統一管理和數據共享等方面帶來了巨大好處
Hadoop內置了Yarn管理工具,我們只需要進行一定的配置就行了
編輯mapred-site.xml
hadoop爲我們提供了模板文件,我們只需要根據模板文件做相應的修改就行了
進入hadoop文件夾下的etc文件夾
cp mapred-site.xml.template mapred-site.xml
然後編輯mapred-site.xml,vi mapred-site.xml,在configration節點下添加
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
然後編輯yarn-site.xml ,vi yarn-site.xml,在configration節點下添加
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
然後到hadoop的sbin目錄下,啓動yarn ,./start-yarn.sh
觀察jps
但是此時執行示例程序仍然有可能是有問題的。例如我執行pi程序時出現瞭如下問題Shuffle Error: Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out.
這個錯誤是不同版本之間配置文件中的屬性值兼容性不夠導致的。有些屬性必須要寫在指定的配置文件中
這個錯誤需要在上述yarn-site.xml中加入一段緩存配置
yarn.nodemanager.local-dirs對應的路徑必須在hdfs-site.xml中的hadoop.tmp.dir路徑下,否則yarn會報錯找不到緩存文件
<property>
<name>yarn.nodemanager.local-dirs</name>
<value>hadoop.tmp.dir/nm-local-dir</value>
</property>
加入這段代碼之後重啓yarn,然後執行示例程序,即可看到正常使用