2015-10-01 24 views
5

與1個TB數據與以下配置運行火花作業:YARN因超過內存限制而死亡的容器。使用52.6 GB的50 GB物理內存。考慮升壓spark.yarn.executor.memoryOverhead

33G執行程序存儲器40 執行人每執行人 5芯

17克memoryoverhead

哪些這個錯誤的可能原因是什麼?

+0

如果你能在控制檯發佈完整的錯誤,這將有助於 – WoodChopper

+0

你有沒有考慮提振spark.yarn.executor.memoryOverhead? – lxg

+0

感謝您的回覆lxg。 spark.yarn.executor.memoryOverhead是0.1的執行程序內存,我已經給它0.5執行程序的內存。我應該增加多少,以及在背景中發生了什麼,導致此警告 – Renu

回答

3

你從哪裏得到這個警告?哪些特定的日誌?你的幸運,你甚至會得到一個警告:)。事實上,17g似乎已經足夠,但是你確實有1TB的數據。我不得不使用更多像30g的數據。

的原因錯誤是,紗線使用額外的內存爲不活在執行的內存空間容器。我注意到更多的任務(分區)意味着更多的內存使用,洗牌通常更重,除此之外我還沒有看到任何其他的對應關係。不知何故,這是不必要的吃東西。

看來世界正在轉向Mesos,也許它沒有這個問題。更好的是,僅使用Spark stand。

更多信息:http://www.wdong.org/wordpress/blog/2015/01/08/spark-on-yarn-where-have-all-my-memory-gone/。這個鏈接似乎有點死了(這是對YARN吞噬內存的深入探討)。此鏈接可能有效:http://m.blog.csdn.net/article/details?id=50387104。如果不嘗試「紗線都哪裏去我的記憶中消失了火花」谷歌搜索

+1

鏈接已死亡... –

+0

由於@BarbarosAlp提到,鏈接是404! **總是**提供您的問題鏈接的要點.... – gsamaras

+0

@gsamaras更新 – samthebest

1

一個可能的問題是,你的虛擬內存越來越正比於你的物理內存非常大。您可能想要在yarn-site.xml中設置yarn.nodemanager.vmem-check-enabledfalse以查看會發生什麼。如果錯誤停止,那可能是問題所在。

我在別處回答了類似的問題,有提供更多信息:https://stackoverflow.com/a/42091255/3505110

相關問題