1
我正在處理一個Spark/YARN集羣,該集羣限制了我可以分配給8GB內存和每個容器1個內核的資源,但是我可以分配數百個甚至數千個執行程序來運行我的應用程序。在Spark中有太多的執行者存在嗎?
但是由於驅動程序有類似的資源限制(8GB內存,4核心),我擔心太多執行程序可能會壓倒驅動程序並導致超時。
是否有經驗法則來確定驅動程序內存和內核的大小以處理大量執行程序?
我正在處理一個Spark/YARN集羣,該集羣限制了我可以分配給8GB內存和每個容器1個內核的資源,但是我可以分配數百個甚至數千個執行程序來運行我的應用程序。在Spark中有太多的執行者存在嗎?
但是由於驅動程序有類似的資源限制(8GB內存,4核心),我擔心太多執行程序可能會壓倒驅動程序並導致超時。
是否有經驗法則來確定驅動程序內存和內核的大小以處理大量執行程序?
有關如何確定「執行者」大小的規定。
對於8GB和4核的驅動程序,它應該能夠輕鬆處理數千個執行程序,因爲它只保留執行程序的簿記元數據。
假設你沒有在spark代碼中使用collect()等函數。
星火代碼分析將幫助您瞭解在火花中執行哪些動作,其中:http://bytepadding.com/big-data/spark/spark-code-analysis/