配置应用程序 - Amazon EMR

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

配置应用程序

您可以为应用程序提供配置对象以覆盖应用程序的默认配置。您可以使用简写语法提供配置,或者引用 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 配置执行程序以利用每个节点的最大资源。