You don’t need to upgrade Java for HDFS and YARN. Just keep using Java 8 for Hadoop and set JAVA_HOME to Java 17 for Spark applications[1].
0. Install Java 17 on all nodes, for example, under /opt/openjdk-17 1. Modify $SPARK_CONF_DIR/spark-env.sh export JAVA_HOME=/opt/openjdk-17 2. Modify $SPARK_CONF_DIR/spark-defaults.conf spark.yarn.appMasterEnv.JAVA_HOME=/opt/openjdk-17 spark.executorEnv.JAVA_HOME=/opt/openjdk-17 [1] https://github.com/awesome-kyuubi/hadoop-testing/commit/9f7c0d7388dfc7fbe6e4658515a6c28d5ba93c8e Thanks, Cheng Pan > On Jun 18, 2024, at 02:00, George Magiros <gmagi...@gmail.com> wrote: > > I successfully submitted and ran org.apache.spark.examples.SparkPi on Yarn > using 4.0.0-preview1. However I got it to work only after fixing an issue > with the Yarn nodemanagers (Hadoop v3.3.6 and v3.4.0). Namely the issue was: > 1. If the nodemanagers used java 11, Yarn threw an error about not finding > the jdk.incubator.vector module. > 2. If the nodemanagers used java 17, which has the jdk.incubator.vector > module, Yarn threw a reflection error about class not found. > > To resolve the error and successfully calculate pi, > 1. I ran java 17 on the nodemanagers and > 2. added 'export HADOOP_OPTS="--add-opens=java.base/java.lang=ALL-UNNAMED"' > to their conf/hadoop-env.sh file. > > George >