Hadoop日常運維問題匯總


一: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的空間配額。文件數配額也類似。

 

 

       

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM