2016-09-17 3 views
3

Мы запускаем Spark-драйверы и исполнители в контейнерах Docker, организованные Kubernetes. Мы хотели бы установить размер кучи Java для них во время выполнения через контроллер YubL Kubernetes.
Какую конфигурацию Spark необходимо настроить? Если я ничего не делать и смотреть на запущенном процессе через ps -ef, я вижу:Как вы переопределите размер кучи Spark Java?

root  639 638 0 00:16 ?  00:00:23 /opt/ibm/java/jre/bin/java -cp /opt/ibm/spark/conf/:/opt/ibm/spark/lib/spark-assembly-1.5.2-hadoop2.6.0.jar:/opt/ibm/spark/lib/datanucleus-api-jdo-3.2.6.jar:/opt/ibm/spark/lib/datanucleus-core-3.2.10.jar:/opt/ibm/spark/lib/datanucleus-rdbms-3.2.9.jar:/opt/ibm/hadoop/conf/ -Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=172.17.48.29:2181,172.17.231.2:2181,172.17.47.17:2181 -Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=172.17.48.29:2181,172.17.231.2:2181,172.17.47.17:2181 -Dcom.ibm.apm.spark.logfilename=master.log -Dspark.deploy.defaultCores=2 **-Xms1g -Xmx1g** org.apache.spark.deploy.master.Master --ip sparkmaster-1 --port 7077 --webui-port 18080 

Что является установкой -Xms и опций -Xmx. Я попытался установить SPARK_DAEMON_JAVA_OPTS="-XmsIG -Xms2G" в spark-env.sh и получил:

root  2919 2917 2 19:16 ?  00:00:15 /opt/ibm/java/jre/bin/java -cp /opt/ibm/spark/conf/:/opt/ibm/spark/lib/spark-assembly-1.5.2-hadoop2.6.0.jar:/opt/ibm/spark/lib/datanucleus-api-jdo-3.2.6.jar:/opt/ibm/spark/lib/datanucleus-core-3.2.10.jar:/opt/ibm/spark/lib/datanucleus-rdbms-3.2.9.jar:/opt/ibm/hadoop/conf/ -Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=172.17.48.29:2181,172.17.231.2:2181,172.17.47.17:2181 **-Xms1G -Xmx2G** -Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=172.17.48.29:2181,172.17.231.2:2181,172.17.47.17:2181 **-Xms1G -Xmx2G** -Dcom.ibm.apm.spark.logfilename=master.log -Dspark.deploy.defaultCores=2 **-Xms1g -Xmx1g** org.apache.spark.deploy.master.Master --ip sparkmaster-1 --port 7077 --webui-port 18080 

Друг предложил создать

spark.driver.memory 2g

в spark-defaults.conf, но результаты выглядели как в первом примере. Возможно, значения в команде ps -ef были переопределены этим параметром, но как я могу узнать? Если spark.driver.memory является правильной переопределением, можете ли вы установить максимальный кусок min и max таким образом, или это просто установит max?

Заранее спасибо.

+1

Я думаю, что вас неправильно поняли. 'SPARK_DAEMON_MEMORY'? – zero323

+0

Вот и все! Спасибо! – cbarlock

ответ

0

Установка SPARK_DAEMON_MEMORY environment variable в conf/spark-env.sh должен сделать трюк:

SPARK_DAEMON_MEMORY памяти выделить мастер Спарк и самих рабочих демонов (по умолчанию: 1 г).

Смежные вопросы