欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spark?集群執(zhí)行任務(wù)失敗的故障處理方法

 更新時(shí)間:2023年02月23日 14:33:14   作者:avatar?捏造的信仰  
這篇文章主要為大家介紹了Spark?集群執(zhí)行任務(wù)失敗的故障處理方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

引言

昨天(2023-02-22)開始發(fā)現(xiàn)公司 Spark 集群上出現(xiàn)一些任務(wù)執(zhí)行時(shí)間過長最后失敗,具體表現(xiàn)包括:

大量執(zhí)行失敗的 Task,最終任務(wù)也是失敗的

  • 在 Spark Master 管理界面上看到任務(wù)的 Driver 地址不是真實(shí) IP 地址,而是一個(gè)叫做“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” 這個(gè)地址失敗。

所以顯然當(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)這個(gè)主機(jī)名是容器分配給內(nèi)部進(jìn)程用來連接容器所在主機(jī)自身的。再進(jìn)一步查看 podman 參考文檔,按照里面的說法,僅當(dāng)容器運(yùn)行網(wǎng)絡(luò)模式為 slirp4netns,即帶上參數(shù) "--network=slirp4netns" 時(shí),才會(huì)有 host.containers.internal 這個(gè)主機(jī)名。

但我運(yùn)行容器時(shí)帶的參數(shù)是 "--network=host" 啊。

再仔細(xì)看文檔才知道,slirp4netns 模式是非 root 運(yùn)行容器的默認(rèn)模式。按照我遇到的實(shí)際情況,難道我給的 "--network=host" 參數(shù)并沒有起作用?但是用 podman inspect xxx | grep NetworkMode 命令查看容器得到的結(jié)果是:

"NetworkMode": "host"

不懂,先把這個(gè)放到一邊,那么如何訪問 host.containers.internal 這個(gè)主機(jī)呢,有兩種方式:

  • 參數(shù)改為 "--network=slirp4netns:allow_host_loopback=true"
  • 修改 /usr/share/containers/containers.conf,修改或添加配置 network_cmd_options 的值為 ["allow_host_loopback=true"]

在不修改 --network 參數(shù)的前提下,我用第二種方法試試。

修改配置文件然后重啟各個(gè) worker 容器,故障消失,Spark 任務(wù)能夠順利執(zhí)行完成。但還需要觀察一段時(shí)間。

以上就是Spark 集群執(zhí)行任務(wù)失敗的故障處理方法的詳細(xì)內(nèi)容,更多關(guān)于Spark 集群任務(wù)失敗故障處理的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論