本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定適用於 Oozie 的 Java 版本
Oozie 會執行多個 Java 虛擬機器 (JVM) 程序。本頁介紹了如何設定每個程序的 Java 版本。
-
Oozie 伺服器:在
oozie-env
分類中設定JAVA_HOME
以更新EmbeddedOozieServer
的 Java 版本。 -
Oozie Launcher AM:Oozie Launcher AM 是一個單映射器 MR 作業,可調用適當的應用程式用戶端庫,如 Hadoop 和 Hive。除非另有設定,否則 Oozie Launcher AM 的執行期版本與 EMR 叢集中 Hadoop 的 Java 執行期相同。若要設定 Oozie Launcher AM 的 Java 執行期,請在
workflow.xml
中設定作業的下列屬性:<property> <name>mapred.child.env</name> <value>JAVA_HOME=/path/to/JAVA_HOME</value> </property>
此屬性可確保 Oozie 作業的 Oozie Launcher AM 在您指定的 Java 版本上執行,而不是在 Hadoop 中設定的 Java 版本上。
-
應用程式用戶端可執行檔:由於 Oozie Launcher AM 預設調用應用程式用戶端,因此用戶端可執行檔的 Java 執行期與 Oozie Launcher AM 相同。
-
由 Oozie 作業啟動的應用程式:除非另有指定,否則 Oozie 作業啟動的實際應用程式 JVM 的執行期版本與 EMR 叢集中 Hadoop 的 Java 執行期相同。根據用於在 Oozie 作業中啟動應用程式的 Oozie 作業流程動作類型 (Spark 或 Hive 動作),您可以更新 Oozie 作業的
workflow.xml
中實際應用程式 JVM 的預設 Java 執行期。