

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

# 設定應用程式
<a name="emr-configure-apps"></a>

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

**警告**  
Amazon EMR 描述和列出 API 操作會以純文字格式發出自訂和可設定的設定，這些設定用作 Amazon EMR 作業流程的一部分。若要在這些設定中提供敏感資訊 (例如密碼)，請參閱[將敏感組態資料儲存在 AWS Secrets Manager中](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/storing-sensitive-data.html)。

可用的組態分類隨 Amazon EMR 發行版本而有所不同。如需特定發行版本支援的組態分類清單，請參閱 [關於 Amazon EMR 版本](emr-release-components.md) 下該發行版本的頁面。

以下是組態清單的範例 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-env` 和 `yarn-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 | 設定執行器以利用每個節點的最大資源數。 | 

**Topics**
+ [在建立叢集時設定應用程式](emr-configure-apps-create-cluster.md)
+ [重新設定執行中叢集中的執行個體群組](emr-configure-apps-running-cluster.md)
+ [在 中存放敏感組態資料 AWS Secrets Manager](storing-sensitive-data.md)
+ [設定應用程式以使用特定 Java 虛擬機器](configuring-java8.md)