Acceldata
ODP

MapReduce

Update the Java 17 flags as mentioned below.


Update 1: Advanced mapred-env -> mapred-env

File location: Log in to the Ambari UI and navigate to YARN → Configs → Advanced→ Advanced mapred-env -> mapred-env.

# export JAVA_HOME=/home/y/libexec/jdk1.8.0/
export HADOOP_JOB_HISTORYSERVER_HEAPSIZE={{jobhistory_heapsize}}
# We need to add the RFA appender for the mr daemons only;
# however, HADOOP_MAPRED_LOGGER is shared by the mapred client and the
# daemons. This will restrict the RFA appender to daemons only.
export HADOOP_LOGLEVEL=${HADOOP_LOGLEVEL:-INFO}
export HADOOP_ROOT_LOGGER=${HADOOP_ROOT_LOGGER:-INFO,console}
export HADOOP_DAEMON_ROOT_LOGGER=${HADOOP_DAEMON_ROOT_LOGGER:-${HADOOP_LOGLEVEL},RFA}
{% if security_enabled %}
export MAPRED_HISTORYSERVER_OPTS="-Djava.security.auth.login.config={{mapred_jaas_file}} -Djavax.security.auth.useSubjectCredsOnly=false"
{% endif %}
{% if java_version|int > 11 %}
export MAPRED_HISTORYSERVER_OPTS="$MAPRED_HISTORYSERVER_OPTS {{jvm_flags}}"
{% endif %}
#export HADOOP_JHS_LOGGER=INFO,RFA # Hadoop JobSummary logger.
#export HADOOP_IDENT_STRING= #A string representing this instance of hadoop. $USER by default
#export HADOOP_NICENESS= #The scheduling priority for daemons. Defaults to 0.
export HADOOP_OPTS="-Dodp.version=$ODP_VERSION $HADOOP_OPTS"
export HADOOP_OPTS="-Djava.io.tmpdir={{hadoop_java_io_tmpdir}} {{jvm_flags}} $HADOOP_OPTS"
export JAVA_LIBRARY_PATH="${JAVA_LIBRARY_PATH}:{{hadoop_java_io_tmpdir}}"
# History server logs
export HADOOP_LOG_DIR={{mapred_log_dir_prefix}}/$USER
# History server pid
export HADOOP_PID_DIR={{mapred_pid_dir_prefix}}/$USER

Update 2: Advanced mapred-site -> yarn.app.mapreduce.am.admin-command-opts

File location: Log in to the Ambari UI and navigate to YARN → Configs → Advanced→ Advanced mapred-site -> yarn.app.mapreduce.am.admin-command-opts.

-Dodp.version=${odp.version}{% if java_version|int > 11 %} --add-opens java.base/java.lang=ALL-UNNAMED{% endif %}