以jdk来举例,当我们需要 更高版本的jdk时,而默认的环境引用的是低版本的jdk,会引发如下错误:
|
因为某些原因下,我们并不方便进行集群jdk的升级,此时我们就需要在程序制定环境,但是前提是我们必须在 YARN 集群的每台节点安装好相应 JDK 版本。
1:spark指定方式
1>:通过指定SPARK_YARN_USER_ENV
范例:export
SPARK_YARN_USER_ENV=
"JAVA_HOME=/opt/jdk1.8.0_151"
2>:通过指定spark.executorEnv.JAVA_HOME
和 spark.yarn.appMasterEnv.JAVA_HOME
|
也可以将这个参数写到 $SPARK_HOME/conf/spark_default.conf
文件中
2: MapReduce
可以直接在程序中设置相关env参数来调试
|
3:flink
可以在 $FLINK_HOME/conf/flink-conf.yaml 设置如下参数
env.java.home: /opt/jdk1.8.0_151"
注:
上面所说的 JDK 路径全部都是指 YARN 集群的 JDK 路径