大數(shù)據(jù)通用組件故障處理
https://www.ctyun.cn/developer/article/441065069686853
HDFS
1.HDFS 服務一直異常
檢查HDFS是否處于安全模式。
檢查ZooKeeper服務是否運行正常。
2.HDFS 維護客戶端出現(xiàn)OutOfMemoryError 異常
使用HDFS客戶端之前,需要在HADOOP_CLIENT_OPTS更新"-Xmx" GC參數(shù)。
直接執(zhí)行如下命令:
export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS -Xmx512m"
在命令中調(diào)整參數(shù),減少HDFS維護客戶端運行命令時所需的內(nèi)存。
當執(zhí)行hdfs dfs -ls /user/*/*/*/*命令時上報OutOfMemoryError,您可以執(zhí)行類似的命令來獲取目錄。例如:hdfs dfs -ls -R /user。
3.NameNode 的主備倒換失敗
需要格式化ZKFC,并將元數(shù)據(jù)從主NameNode拷貝到新增的NameNode節(jié)點中。
Zookeeper
1.ZooKeeper 無法對外提供服務
檢查ZooKeeper安裝并運行的實例是否為奇數(shù)個,如3個、5個。
恢復故障的ZooKeeper服務。
2.安裝DNS 導致ZooKeeper 服務異常
ZooKeeper所在節(jié)點的“/etc/hosts”配置錯誤,ZooKeeper所在節(jié)點配置了DNS服務。
檢查ZooKeeper故障節(jié)點的“/etc/hosts”文件中,IP和主機名是否正確,是否有一個IP對應多個主機名,或者一個主機名對應多個IP的情況。
確認ZooKeeper所在的節(jié)點沒有安裝DNS服務
Yarn
1.ResourceManager 原生界面的鏈接不可用
檢查本地的“hosts”文件中是否對HostName和IP的對應關系進行了配置。檢查該集群是否開放了相應端口。
2.ResourceManager 節(jié)點故障
查看是否有Yarn服務不可用告警產(chǎn)生,并且告警原因為No active instance,參考告警中描述操作。
檢查ZooKeeper服務狀態(tài),如果沒有告警,說明ZooKeeper服務正常,不用檢查。檢查網(wǎng)絡狀態(tài)。
Spark
1.任務掛起,報Initial job has not accepted any resources 異常
查看集群內(nèi)每臺節(jié)點中的“/etc/hosts”文件中是否加入了客戶端節(jié)點的IP和主機名。如果“/etc/hosts”文件未加入,則修改文件,重試跑應用。
若“/etc/hosts”加入了客戶端節(jié)點的IP和主機名后,該問題還存在時,查看Executor端對應的進程CoarseGrainedExecutorBackend是否存在。如果不存在,可能是由于executor memory配置太大導致的。
2.內(nèi)存不足,無法退出應用程序
執(zhí)行命令強制將任務退出,然后通過修改內(nèi)存參數(shù)的方式解決內(nèi)存不足的問題,使任務執(zhí)行成功。
針對此類數(shù)據(jù)量大的任務,希望任務不再掛起,遇到內(nèi)存不足時,直接提示任務運行失敗。
3.由于磁盤空間不足導致運行應用程序失敗
應用程序中,若有shuffle操作時,會將shuffle的數(shù)據(jù)寫到磁盤中。當磁盤空間不夠時,便會出現(xiàn)“No space left on device”錯誤。
建議在執(zhí)行Spark開發(fā)程序之前,應先根據(jù)實際數(shù)據(jù)量,估算shuffle過程的數(shù)據(jù)的大小,配置足夠的磁盤空間再提交應用程序。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。