CDH HDP ambari CM問題合集,持續更新
阿新 • • 發佈:2021-08-11
一問題現象:namenode 資料塊丟失
NameNode Blocks Health Total Blocks:[5247], Missing Blocks:[4677] 問題原因: datanode 或namenode資料 丟失 冗餘副本資料不一致造成 解決辦法: 刪除丟失模組元資料,6小時後資料會自動同步 相關指令:檢視丟失資料塊:hdfs fsck /
簡單刪除丟失塊命令列
for (( i=0; i<100; i++ )) do hdfs fsck / | grep 'MISSING' | head -n 1 | cut -d : -f 1 | xargs hdfs fsck -deletedone
問題現象:如下圖
二 問題現象:namenode datanode journode資料不對齊
三 問題現象:hdfs 訪問許可權不夠
Permission denied: user=root, access=WRITE, inode="/":hdfs:supergroup:drwxr-xr-x
Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException): Permission denied: user=root, access=EXECUTE, inode="/tmp/hive/root":hdfs:supergroup:drwx------
為題原因:訪問許可權不足,導致寫入失敗
解決方案:授予使用者目錄許可權
執行指令:
1 給特定目錄授予使用者權力,該場景為該目錄
sudo -u hdfs hadoop fs -chown -R deploy /user/deploy/
其中,deploy為待新增許可權使用者
2 新增使用者到supergroup
具體原理:
Hadoop本身的使用者和組的關係,都是同步Linux系統中的,但是HDFS和Linux的超級使用者組又有一點差別,HDFS中的超級使用者組是supergroup,但是Linux中預設是沒有supergoup這個組,這個時候只需要在Linux中增加supergroup這個組,然後將要在HDFS中加入到supergroup中的使用者加到這個組中,再同步HDFS使用者和組即可。
具體指令:
1、在Linux執行如下命令增加supergroup groupadd supergroup 2、如將使用者yarn增加到supergroup中,再執行: usermod -a -G supergroup yarn 3、同步系統的許可權資訊到HDFS: su - hdfs -s /bin/bash -c "hdfs dfsadmin -refreshUserToGroupsMappings"