97色精品视频在线观看免费,日韩欧美亚洲每日更新网,国产精品色婷婷99久久精品,99e热久久免费精品首页

Hadoop運維實戰寶典:60個核心命令玩轉集群管理與數據處理!

2025-07-29 09:02:47 RAIZ

 

高效運維Hadoop集群是保障大數據平臺穩定運行的基石。掌握核心命令行工具,不僅能快速執行日常操作,更是深入排查問題、優化性能的必備技能。本文系統梳理了Hadoop生態中60個高頻、實用且關鍵的命令,覆蓋HDFS文件管理、YARN資源調度、MapReduce作業控制、集群監控與基礎運維。每條命令均經過實踐驗證,解釋清晰、參數明確,助你從零上手或精進技能,真正做到運籌帷幄,掌控集群。

使用須知:

  1. 1. 環境變量: 確保 HADOOP_HOMEHADOOP_CONF_DIRJAVA_HOME 等環境變量配置正確。
  2. 2. 權限: 執行命令的用戶需具備相應的HDFS/YARN權限(如HDFS超級用戶hdfs或普通用戶,YARN用戶)。
  3. 3. Kerberos: 若集群啟用Kerberos認證,執行命令前需先kinit獲取有效票據。
  4. 4. 命令位置: 大部分命令位于 $HADOOP_HOME/bin 目錄下。
  5. 5. 幫助: 任何命令后加 -help 可查看詳細幫助(如 hdfs dfs -help)。

一、HDFS 文件系統基礎操作 (hdfs dfs / hadoop fs)

  1. 1. 列出目錄內容: hdfs dfs -ls /user/hadoop (查看 /user/hadoop 下文件/目錄)
  2. 2. 遞歸列出目錄內容: hdfs dfs -ls -R /data (遞歸列出 /data 下所有內容)
  3. 3. 創建目錄: hdfs dfs -mkdir /user/newuser (創建 /user/newuser 目錄)
  4. 4. 創建多級目錄: hdfs dfs -mkdir -p /project/2023/raw (-p 確保父目錄存在)
  5. 5. 上傳本地文件到HDFS: hdfs dfs -put localfile.txt /user/hadoop/input/ (上傳 localfile.txt)
  6. 6. 上傳本地目錄到HDFS: hdfs dfs -put localdir/ /user/hadoop/data/ (上傳整個 localdir)
  7. 7. 從HDFS下載文件到本地: hdfs dfs -get /user/hadoop/output/result.csv ./ (下載到當前目錄)
  8. 8. 從HDFS下載目錄到本地: hdfs dfs -get /user/hadoop/output/ ./backup/ (下載到 backup 目錄)
  9. 9. 查看HDFS文件內容: hdfs dfs -cat /user/hadoop/logs/app.log (顯示文件全部內容)
  10. 10. 查看HDFS文件尾部內容: hdfs dfs -tail /user/hadoop/logs/app.log (類似Linux tail)
  11. 11. 查看HDFS文件頭部內容: hdfs dfs -head /user/hadoop/data/sample.txt (類似Linux head)
  12. 12. 查看HDFS文件大小: hdfs dfs -du -h /user/hadoop/largefile.dat (-h 人類可讀格式, -du 顯示大小)
  13. 13. 查看目錄總大小: hdfs dfs -du -s -h /user/hadoop/project (-s 匯總顯示)
  14. 14. 復制HDFS內文件/目錄: hdfs dfs -cp /source/file /destination/
  15. 15. 移動/重命名HDFS文件/目錄: hdfs dfs -mv /oldname /newname
  16. 16. 刪除HDFS文件: hdfs dfs -rm /user/hadoop/tempfile.tmp
  17. 17. 刪除HDFS目錄及其內容: hdfs dfs -rm -r /user/hadoop/olddir (慎用!)
  18. 18. 跳過回收站直接刪除: hdfs dfs -rm -r -skipTrash /path/to/delete (極其慎用!)
  19. 19. 設置文件/目錄副本數: hdfs dfs -setrep -w 2 /user/hadoop/importantfile (-w 等待操作完成, 設置副本數為2)
  20. 20. 查看文件/目錄權限與屬性: hdfs dfs -ls -d /user/hadoop (-d 查看目錄本身屬性)

二、HDFS 高級操作與集群管理 (hdfs 命令)

  1. 21. 檢查HDFS文件系統健康狀態: hdfs fsck / (檢查根目錄下所有塊的健康狀況)
  2. 22. 定位文件塊信息: hdfs fsck /path/to/file -files -blocks -locations (查看文件塊及其所在DataNode)
  3. 23. 均衡集群磁盤使用: hdfs balancer (啟動均衡器,通常在新增/移除節點后運行)
  4. 24. 手動觸發SecondaryNameNode Checkpoint: hdfs dfsadmin -safemode enter; hdfs dfsadmin -saveNamespace; hdfs dfsadmin -safemode leave (舊版本手動合并FsImage和EditLog)
  5. 25. 查看NameNode狀態: hdfs haadmin -getServiceState nn1 (查看名為 nn1 的NameNode是Active還是Standby)
  6. 26. 手動切換Active NameNode: hdfs haadmin -failover --forceactive nn1 nn2 (將Active從 nn1 切換到 nn2--forceactive 需謹慎)
  7. 27. 查看HDFS整體狀態摘要: hdfs dfsadmin -report (核心命令,顯示Live/Dead/Decommissioning節點數,容量,使用率等)
  8. 28. 查看DataNode存儲詳情: hdfs dfsadmin -report -live (僅顯示Live節點的詳細存儲信息)
  9. 29. 使DataNode進入維護/下線狀態: hdfs dfsadmin -refreshNodes (需先更新 exclude 文件)
  10. 30. 查看當前SafeMode狀態: hdfs dfsadmin -safemode get
  11. 31. 進入SafeMode: hdfs dfsadmin -safemode enter (只讀模式,常用于維護)
  12. 32. 退出SafeMode: hdfs dfsadmin -safemode leave (恢復正常讀寫)
  13. 33. 升級HDFS元數據: hdfs dfsadmin -finalizeUpgrade (在滾動升級完成后執行)
  14. 34. 跨集群復制數據 (DistCp): hadoop distcp hdfs://cluster1:8020/source hdfs://cluster2:8020/destination (高效大規模數據遷移工具)
  15. 35. 帶帶寬限制的DistCp: hadoop distcp -bandwidth 100 hdfs://src /dest (-bandwidth 限制為100MB/s)
  16. 36. 查看HDFS配額: hdfs dfs -count -q /user/hadoop (顯示目錄的命名空間配額和空間配額使用情況)
  17. 37. 設置目錄空間配額: hdfs dfsadmin -setSpaceQuota 1T /user/project (限制 /user/project 最多使用1TB空間)
  18. 38. 清除目錄空間配額: hdfs dfsadmin -clrSpaceQuota /user/project
  19. 39. 設置目錄命名空間配額: hdfs dfsadmin -setQuota 10000 /user/hadoop/files (限制該目錄下最多10000個文件/目錄)
  20. 40. 清除目錄命名空間配額: hdfs dfsadmin -clrQuota /user/hadoop/files

三、YARN 資源管理與 MapReduce 作業控制 (yarnmapred)

  1. 41. 提交MapReduce作業 (Jar包): yarn jar hadoop-mapreduce-examples.jar wordcount /input /output
  2. 42. 查看所有正在運行的YARN應用: yarn application -list
  3. 43. 根據應用名查找應用ID: yarn application -list | grep "MyAppName"
  4. 44. 查看特定YARN應用詳情: yarn application -status application_123456789_0001
  5. 45. 查看YARN應用日志: yarn logs -applicationId application_123456789_0001 (重要!查看作業Stdout/Stderr和Container日志聚合)
  6. 46. 查看特定Container日志: yarn logs -applicationId app_id -containerId container_id
  7. 47. 終止YARN應用: yarn application -kill application_123456789_0001
  8. 48. 查看所有YARN節點狀態: yarn node -list -all
  9. 49. 查看集群隊列信息: yarn queue -status default (查看 default 隊列狀態)
  10. 50. 查看YARN集群資源使用概況: yarn top (類似Linux top,動態查看隊列/用戶資源使用)
  11. 51. 刷新YARN節點管理器: yarn rmadmin -refreshNodes (使新增或移除的NodeManager生效)
  12. 52. 查看ResourceManager HA狀態: yarn rmadmin -getServiceState rm1 (查看RM rm1 是Active還是Standby)
  13. 53. 查看MapReduce作業歷史列表: mapred job -list all (列出歷史服務器記錄的所有作業)
  14. 54. 查看特定MapReduce作業詳情: mapred job -history output_dir (查看作業輸出目錄中記錄的歷史信息) 或 mapred job -status job_id
  15. 55. 查看MapReduce作業計數器: mapred job -counters job_id (查看作業運行時的計數器信息)
  16. 56. 終止MapReduce作業: mapred job -kill job_id (舊API作業,新API作業用 yarn application -kill)
  17. 57. 查看集群調度器信息: yarn scheduler -dump (輸出調度器內部狀態信息,用于診斷)
  18. 58. 處理小文件 (HAR): hadoop archive -archiveName data.har -p /input /output (將 /input 下文件歸檔到 /output/data.har)
  19. 59. 查看歸檔文件內容: hdfs dfs -ls har:///output/data.har
  20. 60. 查看HDFS慢節點: hdfs dfsadmin -report (關注報告中 Last contact 時間過長的節點可能為慢節點) 結合 yarn node -list 查看NodeManager健康狀況。

關鍵提示:

  1. 1. 監控是核心: 定期使用 hdfs dfsadmin -reportyarn node -listyarn top 等命令監控集群健康度和資源使用。結合Ganglia, Ambari, Cloudera Manager等監控平臺更佳。
  2. 2. 日志是金礦: yarn logs -applicationId 是排查作業失敗的第一入口。確保YARN日志聚合已開啟且配置正確。
  3. 3. 安全操作: 對 -rm -r-skipTrash-failover-kill 等破壞性操作保持高度警惕,確認目標路徑或應用ID無誤。善用回收站(fs.trash.interval)。
  4. 4. 容量規劃: 定期使用 hdfs dfs -du -s -h 監控關鍵目錄容量,利用配額(-setSpaceQuota)管理用戶/項目空間,避免單目錄撐爆集群。
  5. 5. 維護窗口: 涉及NameNode切換、滾動升級、節點下線等操作,務必在維護窗口進行,并使用 -safemode 等機制保證元數據安全。
  6. 6. DistCp最佳實踐: 跨集群遷移大數據時,優先使用DistCp。注意帶寬限制(-bandwidth)、任務并行度(-m)、更新覆蓋(-update/-overwrite)和原子提交(-atomic)等參數選擇。
  7. 7. 小文件治理: HAR文件是解決小文件問題的一種方式,但HBase、ORC/Parquet合并、SequenceFile等也是常見方案,需根據場景選擇。
  8. 8. 版本兼容: 注意命令在不同Hadoop版本(如2.x vs 3.x)間的細微差異,參考對應版本的官方文檔。

 


我要咨詢
主站蜘蛛池模板: 江门市| 克山县| 密山市| 江都市| 邯郸市| 陈巴尔虎旗| 沅陵县| 安宁市| 阿图什市| 贡觉县| 九龙坡区| 万盛区| 霍邱县| 托里县| 重庆市| 博白县| 临沭县| 根河市| 永善县| 临朐县| 如东县| 易门县| 红安县| 甘孜| 鄄城县| 冀州市| 湄潭县| 松阳县| 安多县| 嘉定区| 泸西县| 铁岭市| 富顺县| 盐山县| 南昌县| 苍溪县| 临潭县| 怀宁县| 罗田县| 台山市| 田阳县|