博客專欄

EEPW首頁(yè) > 博客 > 大數(shù)據(jù)通用組件故障處理

大數(shù)據(jù)通用組件故障處理

發(fā)布人:天翼云開(kāi)發(fā)者 時(shí)間:2023-07-28 來(lái)源:工程師 發(fā)布文章
本文分享自天翼云開(kāi)發(fā)者社區(qū)《大數(shù)據(jù)通用組件故障處理》,作者:f****n

https://www.ctyun.cn/developer/article/441065069686853

HDFS

1.HDFS 服務(wù)一直異常

檢查HDFS是否處于安全模式。

檢查ZooKeeper服務(wù)是否運(yùn)行正常。

2.HDFS 維護(hù)客戶端出現(xiàn)OutOfMemoryError 異常

使用HDFS客戶端之前,需要在HADOOP_CLIENT_OPTS更新"-Xmx" GC參數(shù)。

直接執(zhí)行如下命令:

export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS -Xmx512m"

在命令中調(diào)整參數(shù),減少HDFS維護(hù)客戶端運(yùn)行命令時(shí)所需的內(nèi)存。

當(dāng)執(zhí)行hdfs dfs -ls /user/*/*/*/*命令時(shí)上報(bào)OutOfMemoryError,您可以執(zhí)行類似的命令來(lái)獲取目錄。例如:hdfs dfs -ls -R /user。

3.NameNode 的主備倒換失敗

需要格式化ZKFC,并將元數(shù)據(jù)從主NameNode拷貝到新增的NameNode節(jié)點(diǎn)中。

Zookeeper

1.ZooKeeper 無(wú)法對(duì)外提供服務(wù)

檢查ZooKeeper安裝并運(yùn)行的實(shí)例是否為奇數(shù)個(gè),如3個(gè)、5個(gè)。

恢復(fù)故障的ZooKeeper服務(wù)。

2.安裝DNS 導(dǎo)致ZooKeeper 服務(wù)異常

ZooKeeper所在節(jié)點(diǎn)的“/etc/hosts”配置錯(cuò)誤,ZooKeeper所在節(jié)點(diǎn)配置了DNS服務(wù)。

檢查ZooKeeper故障節(jié)點(diǎn)的“/etc/hosts”文件中,IP和主機(jī)名是否正確,是否有一個(gè)IP對(duì)應(yīng)多個(gè)主機(jī)名,或者一個(gè)主機(jī)名對(duì)應(yīng)多個(gè)IP的情況。

確認(rèn)ZooKeeper所在的節(jié)點(diǎn)沒(méi)有安裝DNS服務(wù)

Yarn

1.ResourceManager 原生界面的鏈接不可用

檢查本地的“hosts”文件中是否對(duì)HostName和IP的對(duì)應(yīng)關(guān)系進(jìn)行了配置。查該集群是否開(kāi)放了相應(yīng)端口。

2.ResourceManager 節(jié)點(diǎn)故障

查看是否有Yarn服務(wù)不可用告警產(chǎn)生,并且告警原因?yàn)镹o active instance,參考告警中描述操作。

檢查ZooKeeper服務(wù)狀態(tài),如果沒(méi)有告警,說(shuō)明ZooKeeper服務(wù)正常,不用檢查。檢查網(wǎng)絡(luò)狀態(tài)。

Spark

1.任務(wù)掛起,報(bào)Initial job has not accepted any resources 異常

查看集群內(nèi)每臺(tái)節(jié)點(diǎn)中的“/etc/hosts”文件中是否加入了客戶端節(jié)點(diǎn)的IP和主機(jī)名。如果“/etc/hosts”文件未加入,則修改文件,重試跑應(yīng)用。

“/etc/hosts”加入了客戶端節(jié)點(diǎn)的IP和主機(jī)名后,該問(wèn)題還存在時(shí),查Executor端對(duì)應(yīng)的進(jìn)程CoarseGrainedExecutorBackend是否存在。如果不存在,可能是由于executor memory配置太大導(dǎo)致的。

2.內(nèi)存不足,無(wú)法退出應(yīng)用程序

執(zhí)行命令強(qiáng)制將任務(wù)退出,然后通過(guò)修改內(nèi)存參數(shù)的方式解決內(nèi)存不足的問(wèn)題,使任務(wù)執(zhí)行成功。

針對(duì)此類數(shù)據(jù)量大的任務(wù),希望任務(wù)不再掛起,遇到內(nèi)存不足時(shí),直接提示任務(wù)運(yùn)行失敗。

3.由于磁盤(pán)空間不足導(dǎo)致運(yùn)行應(yīng)用程序失敗

應(yīng)用程序中,若有shuffle操作時(shí),會(huì)將shuffle的數(shù)據(jù)寫(xiě)到磁盤(pán)中。當(dāng)磁盤(pán)空間不夠時(shí),便會(huì)出現(xiàn)“No space left on device”錯(cuò)誤。

建議在執(zhí)行Spark開(kāi)發(fā)程序之前,應(yīng)先根據(jù)實(shí)際數(shù)據(jù)量,估算shuffle過(guò)程的數(shù)據(jù)的大小,配置足夠的磁盤(pán)空間再提交應(yīng)用程序。


*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞: 大數(shù)據(jù)

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉