Kluster EMR yang menjalankan EMR V3.45.0 atau versi minor yang lebih baru, atau EMR V5.11.0 atau versi minor yang lebih baru, mendukung JDK 11 untuk pekerjaan Spark 3. Secara default, Spark menggunakan JDK 8. Topik ini menjelaskan cara beralih dari Spark 3 ke JDK 11 dan sebaliknya.
Prasyarat
Sebelum memulai, pastikan kluster EMR Anda menjalankan EMR V3.45.0 atau versi minor yang lebih baru, atau EMR V5.11.0 atau versi minor yang lebih baru.
Catatan penggunaan
Ketidakcocokan EMR Doctor: EMR Doctor tidak mendukung JDK 11. Saat beralih ke JDK 11, hapus agen EMR Doctor dari tiga item konfigurasi berikut: spark.yarn.am.extraJavaOptions, spark.driver.extraJavaOptions, dan spark.executor.extraJavaOptions. Saat kembali ke JDK 8, pulihkan entri tersebut.
Beralih ke JDK 11
Pada tab Configure di halaman layanan Spark3, atur item konfigurasi berikut. Untuk petunjuk mengubah item konfigurasi, lihat Manage configuration items.
spark-env.sh
| Parameter | Nilai |
|---|---|
spark_java_home |
/usr/lib/jvm/java-11 |
spark-defaults.conf
| Parameter | Nilai |
|---|---|
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 |
Hapus -noverify -javaagent:/opt/apps/TAIHAODOCTOR/taihaodoctor-current/emr-agent/btrace-agent.jar=libs=spark-3.2 |
spark.driver.extraJavaOptions |
Hapus -noverify -javaagent:/opt/apps/TAIHAODOCTOR/taihaodoctor-current/emr-agent/btrace-agent.jar=libs=spark-3.2 |
spark.executor.extraJavaOptions |
Hapus -noverify -javaagent:/opt/apps/TAIHAODOCTOR/taihaodoctor-current/emr-agent/btrace-agent.jar=libs=spark-3.2 |
Jika Anda menggunakan Spark Thrift Server, atur juga item berikut di spark-thriftserver.conf:
| Parameter | Nilai |
|---|---|
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 |
Beralih ke JDK 8
Pada tab Configure di halaman layanan Spark3, atur item konfigurasi berikut. Untuk petunjuk mengubah item konfigurasi, lihat Manage configuration items.
spark-env.sh
| Parameter | Nilai |
|---|---|
spark_java_home |
/usr/lib/jvm/java-1.8.0 |
spark-defaults.conf
| Parameter | Nilai |
|---|---|
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 |
Tambahkan -noverify -javaagent:/opt/apps/TAIHAODOCTOR/taihaodoctor-current/emr-agent/btrace-agent.jar=libs=spark-3.2 |
spark.driver.extraJavaOptions |
Tambahkan -noverify -javaagent:/opt/apps/TAIHAODOCTOR/taihaodoctor-current/emr-agent/btrace-agent.jar=libs=spark-3.2 |
spark.executor.extraJavaOptions |
Tambahkan -noverify -javaagent:/opt/apps/TAIHAODOCTOR/taihaodoctor-current/emr-agent/btrace-agent.jar=libs=spark-3.2 |
Jika Anda menggunakan Spark Thrift Server, atur ulang juga item berikut di spark-thriftserver.conf:
| Parameter | Nilai |
|---|---|
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 |