文档首页/ MapReduce服务 MRS/ 组件操作指南(LTS版)/ 使用Spark/Spark2x/ Spark运维管理/ 配置YARN-Client和YARN-Cluster不同模式下的环境变量
更新时间:2025-09-26 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中配置项时,使用方式与原有方式一致,程序可正常执行,只是在不同模式下需切换配置。

配置参数

  1. 登录FusionInsight Manager系统。

    详细操作请参考访问集群Manager

  2. 选择“集群 > 服务 > Spark2x/Spark > 配置”,单击“全部配置”,搜索并调整以下参数。

    表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模式不需要切换配置。

    Cluster模式下传递给driver的JVM选项字符串。例如GC或者其它日志设置。在这个选项中设置Spark属性或者堆大小是不合理的。

    注意:

    修改该值需谨慎。如果出现值错误,服务将启动失败。

    -Dfastjson.parser.safeMode=true -XX:+UseBiasedLocking -Xlog:gc*:file='<LOG_DIR>/jdbcserver-%p-gc.log':utctime,uptime,tid,level:filesize=10M,filecount=20 -XX:-OmitStackTraceInFastThrow -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=512M -XX:OnOutOfMemoryError='kill -9 %p' -Dlog4j.configurationFile=./__spark_conf__/__hadoop_conf__/log4j2-executor.properties -Dlog4j.configuration.watch=true -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=/opt/huawei/Bigdata/tmp -Dcarbon.properties.filepath=./__spark_conf__/__hadoop_conf__/carbon.properties -Djdk.tls.ephemeralDHKeySize=3072 -Dspark.ssl.keyStore=./__spark_conf__/__hadoop_conf__/child.keystore -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=false

  1. 修改参数配置后,单击“保存”,根据界面提示操作后,等待配置保存成功。
  2. Spark服务端配置更新后,如果“配置状态”为“配置过期”,则需重启组件以使配置生效。

    图1 修改Spark配置
    在Spark服务概览页面,选择“更多 > 重启服务/滚动重启服务”,验证管理员密码后,等待服务重启成功。

    组件重启期间将无法对外提供服务,可能会影响集群的上层业务正常运行,请在业务空闲期或确认操作无影响后再执行本操作。

相关文档