在Ubuntu系統中排查HDFS故障可以按照以下步驟進行:
hdfs dfsadmin -report 命令查看集群的整體狀態,包括DataNode的數量、健康狀況以及存儲容量等。http://namenode-hostname:50070 (NameNode的Web UI)和 http://datanode-hostname:50075 (DataNode的Web UI)來獲取更多信息。HADOOP_HOME/logs 目錄下。檢查NameNode和DataNode的日志文件,尋找錯誤信息或異常堆棧跟蹤。grep、awk、sed 等文本處理工具來搜索關鍵信息。hdfs fsck 命令全面掃描文件系統,定位損壞的塊和文件。hdfs fsck / -list-corruptfileblocks -delete
參數說明:
-list-corruptfileblocks:列出所有損壞的塊。-delete:自動刪除無法修復的文件(請謹慎使用,對于重要的文件來說這是不可取的)。hdfs dfsadmin -report 命令。hdfs dfsadmin -safemode leave 命令退出安全模式。core-site.xml、hdfs-site.xml 和 yarn-site.xml 等配置文件中的設置正確無誤。ping 命令檢查集群節點之間的網絡連通性。netstat 或 ss 命令檢查網絡端口是否正常監聽。traceroute 或 mtr 命令追蹤數據包在網絡中的路徑,以發現潛在的網絡問題。df -h 命令檢查DataNode的磁盤空間使用情況,確保有足夠的空間存儲數據。top、htop 或 atop 等工具檢查系統資源(CPU、內存、磁盤I/O)的使用情況。如果資源使用率過高,可能需要優化應用程序或增加集群資源。hdfs fsck 命令檢查HDFS文件系統的一致性。這個命令會報告損壞的文件和塊,以及丟失或復制的塊。/var/log/messages 或 /var/log/syslog),查找與HDFS相關的錯誤信息。通過上述步驟和方法,可以有效地排查和解決Ubuntu系統下HDFS的故障,確保系統的穩定運行和數據的完整性。