Hadoop叢集佔用系統態Cpu較高問題解決
問題描述
問題1:Sys cpu佔用較高
問題解決
處理過程1:修改配置檔案
分析nmon發現dm-2磁碟壓力較大,該磁碟主要寫logs\local
avg-cpu: %user %nice %system %iowait %steal %idle
39.68 0.00 60.32 0.00 0.00 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdd 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda 5.67 2.67 0.67 1.00 50.67 29.33 48.00 0.02 10.60 9.80 1.63
sde 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdf 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdi 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdg 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdj 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdk 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdl 0.00 0.33 0.00 0.67 0.00 8.00 12.00 0.00 4.50 4.50 0.30
sdm 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdh 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdn 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-0 0.00 0.00 0.00 0.67 0.00 5.33 8.00 0.01 21.00 19.50 1.30
dm-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-2 0.00 0.00 6.33 3.00 50.67 24.00 8.00 0.05 5.50 0.36 0.33
將Yarn日誌修改為寫到資料盤目錄,然後重啟叢集,步驟如下:
停止hive
ps -ef|grep metastore | grep -v grep|awk '{print $2}' | xargs kill -9
ps -ef|grep hiveserver2 | grep -v grep|awk '{print $2}' | xargs kill -9
停止Yarn
stop-yarn.sh
備節點: yarn-daemon.sh stopresourcemanager
更新yarn-site.xml
<property>
<name>yarn.nodemanager.local-dirs</name>
<value>/chunk1/yarn/local,/chunk2/yarn/local,/chunk2/yarn/local,/chunk4/yarn/local,/chunk5/yarn/local,/chunk6/yarn/local,/chunk7/yarn/local,/chunk8/yarn/local,/chunk9/yarn/local,/chunk10/yarn/local,/chunk11/yarn/local,/chunk12/yarn/local,/chunk13/yarn/local</value>
</property>
<property>
<name>yarn.nodemanager.log-dirs</name>
<value>/chunk1/yarn/logs,/chunk2/yarn/logs,/chunk2/yarn/logs,/chunk4/yarn/logs,/chunk5/yarn/logs,/chunk6/yarn/logs,/chunk7/yarn/logs,/chunk8/yarn/logs,/chunk9/yarn/logs,/chunk10/yarn/logs,/chunk11/yarn/logs,/chunk12/yarn/logs,/chunk13/yarn/logs</value>
</property>
scp配置檔案到各個節點;
重啟yarn
start-yarn.sh
mr-jobhistory-daemon.sh starthistoryserver
yarn-daemon.sh start resourcemanager
重啟Hive
nohup hive --service metastore &
nohup hive --service hiveserver2 &
處理過程2:修改主機引數
而Hadoop是個高密集型記憶體運算系統,這個改動似乎給它帶來了副作用。理論上運算型Java程式應該更多的使用使用者態CPU才對,Cloudera官方也推薦關閉THP;
引數修改如下:
echo never >/sys/kernel/mm/redhat_transparent_hugepage/enabled
echo never >/sys/kernel/mm/redhat_transparent_hugepage/defrag
[always] never means that transparenthugepage compaction is enabled.
always [never] means that transparenthugepage compaction is disabled.
10:47完成主機引數修改,修改前後主機Cpu資源對比見下圖: