Spark任務卡死

spark階段

parkcore standalone /yarn 模式運行的時候 client 模式正常運行, cluster 模式卡死

spark-env.sh 裏的配置 

SPARK_MASTER_PORT=7077

SPARK_MASTER_WEBUI_PORT=8080

SPARK_WORKER_CORES=2

SPARK_WORKER_MEMORY=1G      #開闢多大內存運行 worker

SPARK_WORKER_PORT=7078

SPARK_WORKER_WEBUI_PORT=8081

SPARK_WORKER_INSTANCES=1

  spark-submit \

  --driver-memory MEM:  # driver運行的內存大小,默認1024M

  --executor-memory                #executor 運行內存大小,默認 1024M

當使用 client模式運行的時候,master運行在本機,佔用linux機器的內存;

 master              佔用 虛擬機 1G 內存

Worker 1G ------executor   1G  運行任務

當使用 master模式的時候,由於使用的是爲分佈模式,所以master只能運行在本機的worker上,佔用 1G的內存,由於worker內存用完,當執行任務的時候executor分配不到內存,所以卡死

Worker (1G) ------ master 佔用1G

                             ----- executor  卡死

 

解決方法:

方式一.執行任務打時候規定 driver的內存大小

spark-submit   \

--master spark://hadoop-senior01.ibeifeng.com:7077   \

--deploy-mode cluster \

--driver-memory 206M \

--executor-memory 206M \

/home/kequan/data/sparkdemo01.jar

 

方式二.修改配置,擴大driver的運行內存  SPARK_WORKER_MEMORY=2G

總結配置運行參數的時候,core是虛擬出來的,大小一般不會影響,但是最好設置爲虛擬機 cores的一半;

掛掉的主要原因就是內存不足,所以在配置上設置爲 driver 和 worker 的內存總和 (一般比linux 總內存低)

 

 

 

發佈了39 篇原創文章 · 獲贊 2 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章