Мы запускаем 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?
Заранее спасибо.
Я думаю, что вас неправильно поняли. 'SPARK_DAEMON_MEMORY'? – zero323
Вот и все! Спасибо! – cbarlock