

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 設定適用於 Oozie 的 Java 版本
<a name="oozie-java"></a>

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 執行期。