基于pyspark撰寫的spark程式,在standone模式下提交可正常跑完,但在yarn模式下提交老是報記憶體超過container物理記憶體上限的錯誤,導致container自動被kill掉了(兩種模式下的資源配置是一樣的)。分析發現pyspark程式運行時,在executor端的java行程默認占用了executor-memory的記憶體大小,導致額外的python行程運行時會出現container記憶體不足的錯誤(實際上python行程運行的時候,java行程處于等待狀態,所以standone模式下不會報記憶體不足的錯誤)。
請問各位大神,spark yarn 模式下,設定的executor-memory值與container記憶體大小值是否是一一對應關系?如何有效解決上述問題呢?(已嘗試調整executor-memory的大小,仍然出現上述問題,是否需要集群哪塊進行設定?)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/54860.html
標籤:Spark
