以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 路徑