すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:Spark 3 での JDK 11 の使用

最終更新日:Mar 27, 2026

EMR V3.45.0 以降のマイナーバージョン、または EMR V5.11.0 以降のマイナーバージョンを実行している EMR クラスターは、Spark 3 ジョブで JDK 11 をサポートします。デフォルトでは、Spark は JDK 8 を使用します。このトピックでは、Spark 3 を JDK 11 に切り替える方法と、JDK 8 に戻す方法について説明します。

前提条件

開始する前に、ご利用の EMR クラスターが EMR V3.45.0 以降のマイナーバージョン、または EMR V5.11.0 以降のマイナーバージョンを実行していることを確認してください。

注意事項

EMR Doctor の非互換性: EMR Doctor は JDK 11 をサポートしていません。JDK 11 に切り替える際は、3 つの設定項目 (spark.yarn.am.extraJavaOptionsspark.driver.extraJavaOptionsspark.executor.extraJavaOptions) から EMR Doctor エージェントを削除してください。JDK 8 に戻す際は、これらのエントリを元に戻してください。

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.driverEnv.JAVA_HOME /usr/lib/jvm/java-11
spark.executorEnv.JAVA_HOME /usr/lib/jvm/java-11

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.driverEnv.JAVA_HOME /usr/lib/jvm/java-1.8.0
spark.executorEnv.JAVA_HOME /usr/lib/jvm/java-1.8.0