私たちはDockerコンテナでSparkドライバとエグゼキュータを実行しており、Kubernetesによってオーケストレーションされています。実行時にKubernetesコントローラYAMLを介してJavaヒープサイズを設定できるようにしたいと考えています。
これを行うために設定する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-env.sh
でSPARK_DAEMON_JAVA_OPTS="-XmsIG -Xms2G"
を設定しようとした得た:
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-defaults.conf
に
spark.driver.memory 2グラム
を設定示唆したが、結果は最初の例のように見えました。この設定ではps -ef
コマンドの値が上書きされている可能性がありますが、どうすればわかりますか? spark.driver.memory
が右オーバーライドの場合、ヒープの最小値と最大値をこのように設定できますか、これは最大値を設定するだけですか?
ありがとうございます。 conf/spark-env.sh
でSPARK_DAEMON_MEMORY
environment variableを設定
私はあなたが間違っていると思います。 'SPARK_DAEMON_MEMORY'? – zero323
それだけです!ありがとうございました! – cbarlock