更新时间:2022-12-14 GMT+08:00

配置YARN-Client和YARN-Cluster不同模式下的环境变量

配置场景

当前,在YARN-Client和YARN-Cluster模式下,两种模式的客户端存在冲突的配置,即当客户端为一种模式的配置时,会导致在另一种模式下提交任务失败。

为避免出现如上情况,添加表1中的配置项,避免两种模式下来回切换参数,提升软件易用性。

  • YARN-Cluster模式下,优先使用新增配置项的值,即服务端路径和参数。
  • YARN-Client模式下,直接使用原有的三个配置项的值。

    原有的三个配置项为:“spark.driver.extraClassPath”“spark.driver.extraJavaOptions”“spark.driver.extraLibraryPath”

不添加表1中配置项时,使用方式与原有方式一致,程序可正常执行,只是在不同模式下需切换配置。

配置参数

参数入口:

在Manager系统中,选择“集群 > 待操作集群的名称 > 服务 > Spark2x > 配置”,单击“全部配置”,在搜索框中输入参数名称。

表1 参数介绍

参数

描述

默认值

spark.yarn.cluster.driver.extraClassPath

YARN-Cluster模式下,Driver使用的extraClassPath,配置为服务端的路径和参数。

同时,“spark.driver.extraClassPath”配置成Spark客户端路径,可以保证在YARN-Client模式下和YARN-Cluster模式下不需要切换配置。

${BIGDATA_HOME}/common/runtime/security

spark.yarn.cluster.driver.extraJavaOptions

YARN-Cluster模式下Driver的extraJavaOptions,配置成服务端的路径和参数。

同时,“spark.driver.extraJavaOptions”配置成Spark客户端路径,可以保证YARN-Client模式和YARN-Cluster模式不需要切换配置。

-Xloggc:<LOG_DIR>/gc.log -XX:+PrintGCDetails -XX:-OmitStackTraceInFastThrow -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=20 -XX:GCLogFileSize=10M -Dlog4j.configuration=./__spark_conf__/__hadoop_conf__/log4j-executor.properties -Djava.security.auth.login.config=./__spark_conf__/__hadoop_conf__/jaas-zk.conf -Dzookeeper.server.principal=zookeeper/hadoop.<系统域名> -Djava.security.krb5.conf=./__spark_conf__/__hadoop_conf__/kdc.conf -Djetty.version=x.y.z -Dorg.xerial.snappy.tempdir=${BIGDATA_HOME}/tmp/spark2x_app -Dcarbon.properties.filepath=./__spark_conf__/__hadoop_conf__/carbon.properties -Djdk.tls.ephemeralDHKeySize=2048