設定應用程式 - Amazon EMR

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

設定應用程式

若要覆寫應用程式的預設組態,您可以提供組態物件。您可以使用速記語法,以提供組態或參考 JSON 檔案中的組態物件。組態物件是由分類、屬性和選用的巢狀組態所組成。屬性會對應至您想要變更的應用程式設定。您可以在單一 JSON 物件中,為多個應用程式指定多個分類。

警告

Amazon EMR 描述和列出 API 操作會以純文字格式發出自訂和可設定的設定,這些設定用作 Amazon EMR 作業流程的一部分。若要在這些設定中提供敏感資訊 (例如密碼),請參閱將敏感組態資料儲存在 AWS Secrets Manager中

可用的組態分類隨 Amazon EMR 發行版本而有所不同。如需特定發行版本支援的組態分類清單,請參閱 關於 Amazon EMR 版本 下該發行版本的頁面。

以下是組態清單的範例 JSON 檔案。

[ { "Classification": "core-site", "Properties": { "hadoop.security.groups.cache.secs": "250" } }, { "Classification": "mapred-site", "Properties": { "mapred.tasktracker.map.tasks.maximum": "2", "mapreduce.map.sort.spill.percent": "0.90", "mapreduce.tasktracker.reduce.tasks.maximum": "5" } } ]

組態分類通常會對應到應用程式專屬的組態檔。例如,hive-site 分類會對應到 Hive 的 hive-site.xml 組態檔中的設定。但有一個例外狀況是不再支援的引導操作 configure-daemons,它用來設定環境參數,例如 --namenode-heap-size。這類選項已納入 hadoop-envyarn-env 分類中,且擁有自己的巢狀匯出分類。如果有任何分類的結尾為 env,請使用匯出子分類。

另一個例外狀況是 s3get,它用來將客戶 EncryptionMaterialsProvider 物件放置到叢集中的每個節點上,以供用戶端加密使用。emrfs-site 分類中已新增一個選項來因應此用途。

以下是 hadoop-env 分類的範例。

[ { "Classification": "hadoop-env", "Properties": { }, "Configurations": [ { "Classification": "export", "Properties": { "HADOOP_DATANODE_HEAPSIZE": "2048", "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19" }, "Configurations": [ ] } ] } ]

以下是 yarn-env 分類的範例。

[ { "Classification": "yarn-env", "Properties": { }, "Configurations": [ { "Classification": "export", "Properties": { "YARN_RESOURCEMANAGER_OPTS": "-Xdebug -Xrunjdwp:transport=dt_socket" }, "Configurations": [ ] } ] } ]

下列設定不屬於組態檔案,但 Amazon EMR 可能會用這些設定代表您進行多項設定。

Amazon EMR 彙整的設定
應用程式 發行標籤分類 有效的屬性 使用情況
Spark spark maximizeResourceAllocation 設定執行器以利用每個節點的最大資源數。