Amazon EMR
Amazon EMR 版本指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

配置应用程序

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

警告

Amazon EMR 描述和列出 API 操作将发出自定义和可配置的设置,它们可用作 Amazon EMR 作业流的一部分,采用纯文本格式。我们建议不要在这些设置中插入密码等敏感信息。

可用的配置分类因 Amazon EMR 发行版本而异。有关 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 配置执行程序以利用每个节点的最大资源。