E-MapReduce(EMR)V3.45.0 以後のマイナーバージョンのクラスタ、または EMR V5.11.0 以後のマイナーバージョンのクラスタを使用している場合、Spark 3 で Java Development Kit(JDK)11 を使用してジョブを実行できます。このトピックでは、JDK 11 の使用方法と、JDK 11 を使用した後にデフォルトの JDK 8 バージョンに切り替える方法について説明します。
使用上の注意
EMR Doctor は JDK 11 をサポートしていません。 JDK 11 を使用して Spark ジョブを実行する場合は、EMR Doctor に関連する [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 | -noverify -javaagent:/opt/apps/TAIHAODOCTOR/taihaodoctor-current/emr-agent/btrace-agent.jar=libs=spark-3.2 を削除します。 | |
| spark.driver.extraJavaOptions | -noverify -javaagent:/opt/apps/TAIHAODOCTOR/taihaodoctor-current/emr-agent/btrace-agent.jar=libs=spark-3.2 を削除します。 | |
| spark.executor.extraJavaOptions | -noverify -javaagent:/opt/apps/TAIHAODOCTOR/taihaodoctor-current/emr-agent/btrace-agent.jar=libs=spark-3.2 を削除します。 |
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 に切り替える
EMR コンソールでデフォルトの JDK 8 バージョンを使用する場合は、JDK 関連の設定項目の設定をロールバックするか、これらの設定項目を JDK 8 にリセットできます。
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 | -noverify -javaagent:/opt/apps/TAIHAODOCTOR/taihaodoctor-current/emr-agent/btrace-agent.jar=libs=spark-3.2 を追加します。 | |
| spark.driver.extraJavaOptions | -noverify -javaagent:/opt/apps/TAIHAODOCTOR/taihaodoctor-current/emr-agent/btrace-agent.jar=libs=spark-3.2 を追加します。 | |
| spark.executor.extraJavaOptions | -noverify -javaagent:/opt/apps/TAIHAODOCTOR/taihaodoctor-current/emr-agent/btrace-agent.jar=libs=spark-3.2 を追加します。 |
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 |