假設一台機器有48g物理記憶體 ,8core (按照1:2的一般配置)虛擬core(vcore)有 16個
1)linux系統本身要佔記憶體+空留:20% ----》 48*0.2=9.6g
剩餘:80% = 38.4g
2)dn程序(datanode):生產4g
更改datanode的配置(hadoop-env.sh)
hadoop_namenode_opts=-xmx1024m
hadoop_datanode_opts=-xmx1024m
3)nm程序:4g
更改nodemanager的配置(yarn-env.sh)
export yarn_resourcemanager_heapsize=1024
export yarn_nodemanager_heapsize=1024
因此,機器還剩 38.4-4-4 =30.8g (近似30g)
dn和nm一般部署在同一臺機器:資料本地化
預設配置
yarn.scheduler.minimum-allocation-mb 1024 1g
yarn.scheduler.maximum-allocation-mb 8192 8g
因此,container的個數為:
3(30/8)個 ~30(30/1) 個
yarn.nodemanager.resource.memory-mb 30g
yarn.scheduler.minimum-allocation-mb 2g
yarn.scheduler.maximum-allocation-mb 30g
container個數: 1個~15個
yarn.nodemanager.resource.memory-mb 32g (從系統借的,系統占用的空間就小於20%)
yarn.scheduler.minimum-allocation-mb 2g
yarn.scheduler.maximum-allocation-mb 8g
container個數:4個~16個
yarn.nodemanager.resource.cpu-vcores 12
yarn.scheduler.minimum-allocation-vcores 1
yarn.scheduler.maximum-allocation-vcores 4
container:
3個~12個
在生產中,要合理配置物理記憶體和cpu虛擬核的引數,避免出現資源浪費。
yarn資源管理
在tarn中,資源管理由rescouecemanager和nodemanager共同完成,其中,resourcemanager中的排程器負責資源分配,而nodemanager則負責資源的供給和隔離。resourcemanager將某個nodemanager上資源分配給任務 這就是所謂的資源排程 後,...
yarn資源管理優化
集群環境 chd5 2.5.2 我們集群使用的是failscheduler,如果佇列引數設定不合理,會直接影響到任務執行的快慢。佇列設定不合理 現狀 該隊裡minshare設定的過小,同時起的任務太多 導致的問題 該佇列中平均每個任務分的資源比較少,任務跑的特別慢,同時,任務之間會相互搶占conta...
YARN資源管理和排程簡介
1 執行在yarn上的mapreduce應用程式 2 執行在yarn上的storm應用程式 3 yarn應用程式基本構成 客戶端 4 以mapreduce應用程式為例 mapreduce客戶端 將mapreduce作業提交到yarn上 查詢mapreduce作業執行狀態 管理mapreduce作業,...