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