Spark?集群執(zhí)行任務(wù)失敗的故障處理方法
引言
昨天(2023-02-22)開始發(fā)現(xiàn)公司 Spark 集群上出現(xiàn)一些任務(wù)執(zhí)行時間過長最后失敗,具體表現(xiàn)包括:
大量執(zhí)行失敗的 Task,最終任務(wù)也是失敗的

- 在 Spark Master 管理界面上看到任務(wù)的 Driver 地址不是真實 IP 地址,而是一個叫做“host.containers.internal”的主機(jī)名;
- Spark 的 worker 節(jié)點(diǎn)上能觀察到在不停的創(chuàng)建 Java 進(jìn)程,然后進(jìn)程瞬間就結(jié)束了;
- 進(jìn)入 worker 節(jié)點(diǎn)的日志目錄查看日志內(nèi)容,發(fā)現(xiàn)異常信息為連接 “host.containers.internal” 這個地址失敗。
所以顯然當(dāng)前出現(xiàn)的問題跟“host.containers.internal”有關(guān)系。
背景說明:我們的 Spark 集群是運(yùn)行在 podman 容器里的,而且是在非 root 用戶下運(yùn)行。
經(jīng)過在互聯(lián)網(wǎng)上搜索,發(fā)現(xiàn)這個主機(jī)名是容器分配給內(nèi)部進(jìn)程用來連接容器所在主機(jī)自身的。再進(jìn)一步查看 podman 參考文檔,按照里面的說法,僅當(dāng)容器運(yùn)行網(wǎng)絡(luò)模式為 slirp4netns,即帶上參數(shù) "--network=slirp4netns" 時,才會有 host.containers.internal 這個主機(jī)名。
但我運(yùn)行容器時帶的參數(shù)是 "--network=host" 啊。
再仔細(xì)看文檔才知道,slirp4netns 模式是非 root 運(yùn)行容器的默認(rèn)模式。按照我遇到的實際情況,難道我給的 "--network=host" 參數(shù)并沒有起作用?但是用 podman inspect xxx | grep NetworkMode 命令查看容器得到的結(jié)果是:
"NetworkMode": "host"
不懂,先把這個放到一邊,那么如何訪問 host.containers.internal 這個主機(jī)呢,有兩種方式:
- 參數(shù)改為
"--network=slirp4netns:allow_host_loopback=true" - 修改
/usr/share/containers/containers.conf,修改或添加配置network_cmd_options的值為["allow_host_loopback=true"]
在不修改 --network 參數(shù)的前提下,我用第二種方法試試。
修改配置文件然后重啟各個 worker 容器,故障消失,Spark 任務(wù)能夠順利執(zhí)行完成。但還需要觀察一段時間。
以上就是Spark 集群執(zhí)行任務(wù)失敗的故障處理方法的詳細(xì)內(nèi)容,更多關(guān)于Spark 集群任務(wù)失敗故障處理的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
SpringBoot+Redis+Lua防止IP重復(fù)防刷攻擊的方法
本文主要介紹了SpringBoot+Redis+Lua防止IP重復(fù)防刷攻擊的方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12
Spring?Cloud?Gateway服務(wù)網(wǎng)關(guān)限流問題及解決
這篇文章主要介紹了Spring?Cloud?Gateway服務(wù)網(wǎng)關(guān)限流問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-04-04
關(guān)于java關(guān)鍵字this和super的區(qū)別和理解
這篇文章主要給大家介紹了關(guān)于java關(guān)鍵字this和super的區(qū)別和理解的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
SpringBoot中YAML語法及幾個注意點(diǎn)說明
這篇文章主要介紹了SpringBoot中YAML語法及幾個注意點(diǎn)說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02

