E-MapReduce (EMR) V3.45.0 以降および V5.11.0 以降の Spark 3 では、Java Development Kit (JDK) 11 を使用してジョブを実行できます。必要に応じて、JDK 11 とデフォルトの JDK 8 を切り替えることができます。
注意事項
EMR Doctor は JDK 11 をサポートしていません。JDK 11 を使用して Spark ジョブを実行する場合は、spark.yarn.am.extraJavaOptions、spark.driver.extraJavaOptions、および spark.executor.extraJavaOptions パラメーターも変更する必要があります。詳細については、「JDK 11 の使用」をご参照ください。
JDK 11 の使用
Spark3 サービスページの [設定] タブで、以下の設定項目を変更します。詳細については、「設定項目の管理」をご参照ください。
|
設定ファイル |
パラメーター |
値 |
|
spark-env.sh |
spark_java_home |
/usr/lib/jvm/java-11 |
|
spark-defaults.conf |
spark.yarn.appMasterEnv.JAVA_HOME |
/usr/lib/jvm/java-11 |
|
spark.driverEnv.JAVA_HOME |
/usr/lib/jvm/java-11 |
|
|
spark.executorEnv.JAVA_HOME |
/usr/lib/jvm/java-11 |
|
|
spark.yarn.am.extraJavaOptions |
|
|
|
spark.driver.extraJavaOptions |
|
|
|
spark.executor.extraJavaOptions |
|
Spark Thrift Server を使用する場合は、以下の設定項目も変更する必要があります。
|
設定ファイル |
パラメーター |
値 |
|
spark-thriftserver.conf |
spark.yarn.appMasterEnv.JAVA_HOME |
/usr/lib/jvm/java-11 |
|
spark-thriftserver.conf |
spark.driverEnv.JAVA_HOME |
/usr/lib/jvm/java-11 |
|
spark-thriftserver.conf |
spark.executorEnv.JAVA_HOME |
/usr/lib/jvm/java-11 |
JDK 11 から JDK 8 への切り替え
デフォルトの JDK 8 に戻すには、JDK 関連の設定項目をロールバックまたはリセットします。
Spark3 サービスページの [設定] タブで、以下の設定項目を変更します。詳細については、「設定項目の管理」をご参照ください。
|
設定ファイル |
パラメーター |
値 |
|
spark-env.sh |
spark_java_home |
/usr/lib/jvm/java-1.8.0 |
|
spark-defaults.conf |
spark.yarn.appMasterEnv.JAVA_HOME |
/usr/lib/jvm/java-1.8.0 |
|
spark.driverEnv.JAVA_HOME |
/usr/lib/jvm/java-1.8.0 |
|
|
spark.executorEnv.JAVA_HOME |
/usr/lib/jvm/java-1.8.0 |
|
|
spark.yarn.am.extraJavaOptions |
|
|
|
spark.driver.extraJavaOptions |
|
|
|
spark.executor.extraJavaOptions |
|
Spark Thrift Server を使用する場合は、以下の設定項目もロールバックまたはリセットする必要があります。
|
設定ファイル |
パラメーター |
値 |
|
spark-thriftserver.conf |
spark.yarn.appMasterEnv.JAVA_HOME |
/usr/lib/jvm/java-1.8.0 |
|
spark-thriftserver.conf |
spark.driverEnv.JAVA_HOME |
/usr/lib/jvm/java-1.8.0 |
|
spark-thriftserver.conf |
spark.executorEnv.JAVA_HOME |
/usr/lib/jvm/java-1.8.0 |