1. 程式人生 > >Hadoop日常運維問題匯總

Hadoop日常運維問題匯總

width http class clas pac 指定 manage 配額管理 das

一:namenode出現missing blocks

日常巡檢CDH集群和HDP集群發現有些namenode下有很多missing blocks ,hadoop數據存儲單位為塊。一塊64M,這些Missing大多因為元數據丟失而毀壞,很難恢復。就行硬盤故障一樣,需要fsck並且delete。

CDH集群 :Cloudera manager的dashboard----HDFS----NameNode Web UI 如圖:

技術分享圖片-----技術分享圖片

技術分享圖片

  HDP集群:Ambari Server 的dashboard---HDFS Links---NameNode UI 如圖

技術分享圖片

技術分享圖片

清理Missing blocks步驟:登錄到console中控機,su hdfs 切換至hadoop集群管理用戶

hdfs fsck /blocks-path/ 查看文件系統cluster,如:技術分享圖片

hdfs fsck -fs hdfs://dc(n) /block-path/ 指定集群

hdfs fsck -fs hdfs://dc /block-path/ -delete 如果上步元數據已損壞,則直接清理。

例: hdfs fsck /app-logs/mapred/mbbi/logs/application_1525315338835_219860/10.11.12.161

hdfs fsck -fs hdfs://dc1 /app-logs/mapred/mbbi/logs/application_1525315338835_219860/10.11.12.161

hdfs fsck -fs hdfs://dc1 /app-logs/mapred/mbbi/logs/application_1525315338835_219860/10.11.12.161 -delete

技術分享圖片

二: Spark on Yarn 查看任務日誌及狀態

1、根據application ID查看某個job的日誌
yarn logs -applicationId application_1525315338835_7483

2、查看某個job的狀態
yarn application -status application_1525315338835_7483

3、kill掉某個job(完全停止該job的執行,如果直接在Web上kill實際還會繼續運行)

yarn application -kill application_1525315338835_7483

也可以通過 http://ip:8088/cluster/scheduler/ 查看,在此Web界面可通過applicationId查看任務狀態和日誌。

技術分享圖片

三:Hadoop集群用戶磁盤配額管理

1.hdfs是hadoop集群的管理用戶,所以首先應該登陸集群console並且su切換到hdfs用戶

2.磁盤配額分為磁盤目錄文件數配額和磁盤空間配額。以msns用戶、1000000文件數、100T的配額空間為例:

磁盤目錄文件數配額:hdfs dfsadmin -setQuota 1000000 /user/msns

磁盤空間配額:hdfs dfsadmin -setSpaceQuota 100t /user/msns

3.查看磁盤已有配額信息:

hadoop fs -count -q /user/msns

文件數限額 可用文件數 空間配額 可用空間 目錄數 文件數 總大小 文件/目錄名

技術分享圖片

4清空目錄配額信息:

清空文件數配額:hdfs dfsadmin -clrQuota /user/msns

清空磁盤空間配額:hdfs dfsadmin -clrSpaceQuota /user/msns

***5.註意這裏的空間配額是把副本容量也算入的,也就是所我們這裏的配額控制的是file_size x replications。即,如果我們要為msns用戶設置100T的實際可用空間,副本因子為3(一般為3),那麽就需要用上面的命令配置300T的空間配額。文件數配額也類似。

Hadoop日常運維問題匯總