

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 配置应用程序
<a name="emr-configure-apps"></a>

您可以提供配置对象来覆盖应用程序的默认配置。您也可以使用简写语法提供配置，或者引用 JSON 文件中的配置对象。配置对象包含分类、属性和可选的嵌套配置。属性对应于您想要更改的应用程序设置。您可以在一个 JSON 对象中为多个应用程序指定多个分类。

**警告**  
Amazon EMR Describe 和 List API 操作以明文形式发出自定义和可配置的设置，用作 Amazon EMR 作业流程的一部分。要在这些设置中提供密码等敏感信息，请参阅将[在 Amazon Secrets Manager中存储敏感配置数据](https://docs.amazonaws.cn/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)
+ [将敏感配置数据存储在 Amazon Secrets Manager](storing-sensitive-data.md)
+ [配置应用程序来使用特定 Java 虚拟机](configuring-java8.md)