Hadoop YARN配置參數(shù)剖析(1)—RM與NM相關(guān)參數(shù)
注意,配置這些參數(shù)前,應(yīng)充分理解這幾個(gè)參數(shù)的含義,以防止誤配給集群帶來的隱患。另外,這些參數(shù)均需要在yarn-site.xml中配置。
1. ResourceManager相關(guān)配置參數(shù)
(1) yarn.resourcemanager.address
參數(shù)解釋:ResourceManager 對客戶端暴露的地址。客戶端通過該地址向RM提交應(yīng)用程序,殺死應(yīng)用程序等。
默認(rèn)值:${yarn.resourcemanager.hostname}:8032
(2) yarn.resourcemanager.scheduler.address
參數(shù)解釋:ResourceManager 對ApplicationMaster暴露的訪問地址。ApplicationMaster通過該地址向RM申請資源、釋放資源等。
默認(rèn)值:${yarn.resourcemanager.hostname}:8030
(3) yarn.resourcemanager.resource-tracker.address
參數(shù)解釋:ResourceManager 對NodeManager暴露的地址.。NodeManager通過該地址向RM匯報(bào)心跳,領(lǐng)取任務(wù)等。
默認(rèn)值:${yarn.resourcemanager.hostname}:8031
(4) yarn.resourcemanager.admin.address
參數(shù)解釋:ResourceManager 對管理員暴露的訪問地址。管理員通過該地址向RM發(fā)送管理命令等。
默認(rèn)值:${yarn.resourcemanager.hostname}:8033
(5) yarn.resourcemanager.webapp.address
參數(shù)解釋:ResourceManager對外web ui地址。用戶可通過該地址在瀏覽器中查看集群各類信息。
默認(rèn)值:${yarn.resourcemanager.hostname}:8088
(6) yarn.resourcemanager.scheduler.class
參數(shù)解釋:啟用的資源調(diào)度器主類。目前可用的有FIFO、Capacity Scheduler和Fair Scheduler。
默認(rèn)值:
org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler
(7) yarn.resourcemanager.resource-tracker.client.thread-count
參數(shù)解釋:處理來自NodeManager的RPC請求的Handler數(shù)目。
默認(rèn)值:50
(8) yarn.resourcemanager.scheduler.client.thread-count
參數(shù)解釋:處理來自ApplicationMaster的RPC請求的Handler數(shù)目。
默認(rèn)值:50
(9) yarn.scheduler.minimum-allocation-mb/ yarn.scheduler.maximum-allocation-mb
參數(shù)解釋:單個(gè)可申請的最小/***內(nèi)存資源量。比如設(shè)置為1024和3072,則運(yùn)行MapRedce作業(yè)時(shí),每個(gè)Task最少可申請1024MB內(nèi)存,最多可申請3072MB內(nèi)存。
默認(rèn)值:1024/8192
(10) yarn.scheduler.minimum-allocation-vcores / yarn.scheduler.maximum-allocation-vcores
參數(shù)解釋:單個(gè)可申請的最小/***虛擬CPU個(gè)數(shù)。比如設(shè)置為1和4,則運(yùn)行MapRedce作業(yè)時(shí),每個(gè)Task最少可申請1個(gè)虛擬CPU,最多可申請4個(gè)虛擬CPU。什么是虛擬CPU,可閱讀我的這篇文章:“YARN 資源調(diào)度器剖析”。
默認(rèn)值:1/32
(11) yarn.resourcemanager.nodes.include-path /yarn.resourcemanager.nodes.exclude-path
參數(shù)解釋:NodeManager黑白名單。如果發(fā)現(xiàn)若干個(gè)NodeManager存在問題,比如故障率很高,任務(wù)運(yùn)行失敗率高,則可以將之加入黑名單中。注意,這兩個(gè)配置參數(shù)可以動(dòng)態(tài)生效。(調(diào)用一個(gè)refresh命令即可)
默認(rèn)值:“”
(12) yarn.resourcemanager.nodemanagers.heartbeat-interval-ms
參數(shù)解釋:NodeManager心跳間隔
默認(rèn)值:1000(毫秒)
2. NodeManager相關(guān)配置參數(shù)
(1) yarn.nodemanager.resource.memory-mb
參數(shù)解釋:NodeManager總的可用物理內(nèi)存。注意,該參數(shù)是不可修改的,一旦設(shè)置,整個(gè)運(yùn)行過程中不 可動(dòng)態(tài)修改。另外,該參數(shù)的默認(rèn)值是8192MB,即使你的機(jī)器內(nèi)存不夠8192MB,YARN也會(huì)按照這些內(nèi)存來使用(傻不傻?),因此,這個(gè)值通過一 定要配置。不過,Apache已經(jīng)正在嘗試將該參數(shù)做成可動(dòng)態(tài)修改的。
默認(rèn)值:8192
(2) yarn.nodemanager.vmem-pmem-ratio
參數(shù)解釋:每使用1MB物理內(nèi)存,最多可用的虛擬內(nèi)存數(shù)。
默認(rèn)值:2.1
(3) yarn.nodemanager.resource.cpu-vcores
參數(shù)解釋:NodeManager總的可用虛擬CPU個(gè)數(shù)。
默認(rèn)值:8
(4) yarn.nodemanager.local-dirs
參數(shù)解釋:中間結(jié)果存放位置,類似于1.0中的mapred.local.dir。注意,這個(gè)參數(shù)通常會(huì)配置多個(gè)目錄,已分?jǐn)偞疟PIO負(fù)載。
默認(rèn)值:${hadoop.tmp.dir}/nm-local-dir
(5) yarn.nodemanager.log-dirs
參數(shù)解釋:日志存放地址(可配置多個(gè)目錄)。
默認(rèn)值:${yarn.log.dir}/userlogs
(6) yarn.nodemanager.log.retain-seconds
參數(shù)解釋:NodeManager上日志最多存放時(shí)間(不啟用日志聚集功能時(shí)有效)。
默認(rèn)值:10800(3小時(shí))
(7) yarn.nodemanager.aux-services
參數(shù)解釋:NodeManager上運(yùn)行的附屬服務(wù)。需配置成mapreduce_shuffle,才可運(yùn)行MapReduce程序
默認(rèn)值:“”
原文鏈接:http://dongxicheng.org/mapreduce-nextgen/hadoop-yarn-configurations-resourcemanager-nodemanager/