本文分享自天翼雲開發者社區《大數據通用組件故障處理》,作者:f****n HDFS 1.HDFS 服務一直異常 檢查HDFS是否處於安全模式。 檢查ZooKeeper服務是否運行正常。 2.HDFS 維護客戶端出現OutOfMemoryError 異常 使用HDFS客戶端之前,需要在HADOOP_C ...
本文分享自天翼雲開發者社區《大數據通用組件故障處理》,作者:f****n
HDFS
1.HDFS 服務一直異常
檢查HDFS是否處於安全模式。
檢查ZooKeeper服務是否運行正常。
2.HDFS 維護客戶端出現OutOfMemoryError 異常
使用HDFS客戶端之前,需要在HADOOP_CLIENT_OPTS更新"-Xmx" GC參數。
直接執行如下命令:
export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS -Xmx512m"
在命令中調整參數,減少HDFS維護客戶端運行命令時所需的記憶體。
當執行hdfs dfs -ls /user/*/*/*/*命令時上報OutOfMemoryError,您可以執行類似的命令來獲取目錄。例如:hdfs dfs -ls -R /user。
3.NameNode 的主備倒換失敗
需要格式化ZKFC,並將元數據從主NameNode拷貝到新增的NameNode節點中。
Zookeeper
1.ZooKeeper 無法對外提供服務
檢查ZooKeeper安裝並運行的實例是否為奇數個,如3個、5個。
恢復故障的ZooKeeper服務。
2.安裝DNS 導致ZooKeeper 服務異常
ZooKeeper所在節點的“/etc/hosts”配置錯誤,ZooKeeper所在節點配置了DNS服務。
檢查ZooKeeper故障節點的“/etc/hosts”文件中,IP和主機名是否正確,是否有一個IP對應多個主機名,或者一個主機名對應多個IP的情況。
確認ZooKeeper所在的節點沒有安裝DNS服務
Yarn
1.ResourceManager 原生界面的鏈接不可用
檢查本地的“hosts”文件中是否對HostName和IP的對應關係進行了配置。檢查該集群是否開放了相應埠。
2.ResourceManager 節點故障
查看是否有Yarn服務不可用告警產生,並且告警原因為No active instance,參考告警中描述操作。
檢查ZooKeeper服務狀態,如果沒有告警,說明ZooKeeper服務正常,不用檢查。檢查網路狀態。
Spark
1.任務掛起,報Initial job has not accepted any resources 異常
查看集群內每台節點中的“/etc/hosts”文件中是否加入了客戶端節點的IP和主機名。如果“/etc/hosts”文件未加入,則修改文件,重試跑應用。
若“/etc/hosts”加入了客戶端節點的IP和主機名後,該問題還存在時,查看Executor端對應的進程CoarseGrainedExecutorBackend是否存在。如果不存在,可能是由於executor memory配置太大導致的。
2.記憶體不足,無法退出應用程式
執行命令強制將任務退出,然後通過修改記憶體參數的方式解決記憶體不足的問題,使任務執行成功。
針對此類數據量大的任務,希望任務不再掛起,遇到記憶體不足時,直接提示任務運行失敗。
3.由於磁碟空間不足導致運行應用程式失敗
應用程式中,若有shuffle操作時,會將shuffle的數據寫到磁碟中。當磁碟空間不夠時,便會出現“No space left on device”錯誤。
建議在執行Spark開發程式之前,應先根據實際數據量,估算shuffle過程的數據的大小,配置足夠的磁碟空間再提交應用程式。