2017-06-16 46 views
0

我有一個10個節點的集羣,8個DN(256 GB,48個內核)和2個NN。我將一個spark sql作業提交給紗線羣集。以下是我用於spark-submit的參數。 --num-executors 8 \ --executor-cores 50 \ --driver-memory 20G \ --executor-memory 60G \ 如上所述,executor-memory是60GB,但是當我檢查Spark UI顯示31GB。 enter image description hereSpark提交執行程序內存問題

1)任何人都可以解釋爲什麼它顯示31GB而不是60GB。 2)還有助於設置上述參數的最佳值。分配被分成兩個部分

回答

0

我認爲,

內存: 1.存儲(緩存dataframes /表) 2.加工(一個你可以看到)

31GB是可用內存處理。 玩弄spark.memory.fraction屬性來增加/減少可用於處理的內存。

我建議執行人磁芯降低至約8-10

我的配置:

火花殼--executor內存40克--executor-核心8 --num執行人100 - -conf spark.memory.fraction = 0.2

+0

--num-executors 100?我只有8個DN。這工作正常嗎?我有730.6 G的文件需要處理。 40G執行器內存是否會與連接一起工作? –