hadoop之 YARN配置引數剖析—RM與NM相關引數

張衝andy發表於2017-10-18

 引數均需要在yarn-site.xml中配置:

1. ResourceManager相關配置引數

(1) yarn.resourcemanager.address

引數解釋:ResourceManager 對客戶端暴露的地址。客戶端透過該地址向RM提交應用程式,殺死應用程式等。

預設值:${yarn.resourcemanager.hostname}:8032

(2) yarn.resourcemanager.scheduler.address

引數解釋:ResourceManager 對ApplicationMaster暴露的訪問地址。ApplicationMaster透過該地址向RM申請資源、釋放資源等。

預設值:${yarn.resourcemanager.hostname}:8030

(3) yarn.resourcemanager.resource-tracker.address

引數解釋:ResourceManager 對NodeManager暴露的地址.。NodeManager透過該地址向RM彙報心跳,領取任務等。

預設值:${yarn.resourcemanager.hostname}:8031

(4) yarn.resourcemanager.admin.address

引數解釋:ResourceManager 對管理員暴露的訪問地址。管理員透過該地址向RM傳送管理命令等。

預設值:${yarn.resourcemanager.hostname}:8033

(5) yarn.resourcemanager.webapp.address

引數解釋:ResourceManager對外web ui地址。使用者可透過該地址在瀏覽器中檢視叢集各類資訊。

預設值:${yarn.resourcemanager.hostname}:8088

(6) yarn.resourcemanager.scheduler.class

引數解釋:啟用的資源排程器主類。目前可用的有FIFO、Capacity Scheduler和Fair Scheduler。

預設值:

org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler

(7) yarn.resourcemanager.resource-tracker.client.thread-count

引數解釋:處理來自NodeManager的RPC請求的Handler數目。

預設值:50

(8) yarn.resourcemanager.scheduler.client.thread-count

引數解釋:處理來自ApplicationMaster的RPC請求的Handler數目。

預設值:50

(9) yarn.scheduler.minimum-allocation-mb/ yarn.scheduler.maximum-allocation-mb

引數解釋:單個可申請的最小/最大記憶體資源量。比如設定為1024和3072,則執行MapRedce作業時,每個Task最少可申請1024MB記憶體,最多可申請3072MB記憶體。

預設值:1024/8192

(10) yarn.scheduler.minimum-allocation-vcores / yarn.scheduler.maximum-allocation-vcores

引數解釋:單個可申請的最小/最大虛擬CPU個數。比如設定為1和4,則執行MapRedce作業時,每個Task最少可申請1個虛擬CPU,最多可申請4個虛擬CPU。什麼是虛擬CPU,可閱讀我的這篇文章:“YARN 資源排程器剖析”。

預設值:1/32

(11) yarn.resourcemanager.nodes.include-path /yarn.resourcemanager.nodes.exclude-path

引數解釋:NodeManager黑白名單。如果發現若干個NodeManager存在問題,比如故障率很高,任務執行失敗率高,則可以將之加入黑名單中。注意,這兩個配置引數可以動態生效。(呼叫一個refresh命令即可)

預設值:“”

(12) yarn.resourcemanager.nodemanagers.heartbeat-interval-ms

引數解釋:NodeManager心跳間隔

預設值:1000(毫秒)

2. NodeManager相關配置引數

(1) yarn.nodemanager.resource.memory-mb

引數解釋:NodeManager總的可用實體記憶體。注意,該引數是不可修改的,一旦設定,整個執行過程中不 可動態修改。另外,該引數的預設值是8192MB,即使你的機器記憶體不夠8192MB,YARN也會按照這些記憶體來使用(傻不傻?),因此,這個值透過一 定要配置。不過,Apache已經正在嘗試將該引數做成可動態修改的。

預設值:8192

(2) yarn.nodemanager.vmem-pmem-ratio

引數解釋:在設定容器的記憶體限制時,虛擬記憶體與實體記憶體的比率。

預設值:2.1

(3) yarn.nodemanager.resource.cpu-vcores

引數解釋:NodeManager總的可用虛擬CPU個數。

預設值:8

(4) yarn.nodemanager.local-dirs

引數解釋:中間結果存放位置,類似於1.0中的mapred.local.dir。注意,這個引數通常會配置多個目錄,已分攤磁碟IO負載。

預設值:${hadoop.tmp.dir}/nm-local-dir

(5) yarn.nodemanager.log-dirs

引數解釋:日誌存放地址(可配置多個目錄)。

預設值:${yarn.log.dir}/userlogs

(6) yarn.nodemanager.log.retain-seconds

引數解釋:NodeManager上日誌最多存放時間(不啟用日誌聚集功能時有效)。

預設值:10800(3小時)

(7) yarn.nodemanager.aux-services

引數解釋:NodeManager上執行的附屬服務。需配置成mapreduce_shuffle,才可執行MapReduce程式

預設值:“”

參考:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2146135/,如需轉載,請註明出處,否則將追究法律責任。

相關文章