选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

步骤 6:查看 Amazon EMR 集群的配置设置

聚焦模式
步骤 6:查看 Amazon EMR 集群的配置设置 - Amazon EMR

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

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

配置设置指定集群如何运行的详细信息,例如,重试任务的次数和排序可用的内存大小。当使用 Amazon EMR 启动集群时,除了标准 Hadoop 配置设置外,还有 Amazon EMR 特定的设置。这些配置设置存储在集群的主节点上。您可以检查配置设置,以确保集群有所需的资源高效运行。

Amazon EMR 定义用于启动集群的默认 Hadoop 配置设置。这些值基于 AMI 和您为该集群指定的实例类型。您可以使用引导操作或在作业执行参数中指定新值,从而修改配置设置的默认值。有关更多信息,请参阅创建引导操作以使用 Amazon EMR 集群安装其他软件。为了确定引导操作是否更改了配置设置,请检查引导操作日志。

Amazon EMR 记录用于执行每次任务的 Hadoop 设置。日志数据存储在主节点/mnt/var/log/hadoop/history/目录job_job-id_conf.xml下名为的文件中,其中替换job-id为作业的标识符。如果您启用了日志存档,则这些数据将复制到logs/date/jobflow-id/jobs文件夹 Amazon S3 中,其中date是任务运行的日期,jobflow-id也是集群的标识符。

以下 Hadoop 作业配置设置对于调查性能问题尤其有用。有关 Hadoop 配置设置及它们如何影响 Hadoop 操作的详细信息,请转到 http://hadoop.apache.org/docs/

警告
  1. 如果单个节点出现故障,则在少于四个节点的集群上将 dfs.replication 设置为 1 可能会导致 HDFS 数据丢失。建议您使用具有至少四个核心节点的集群来处理生产工作负载。

  2. Amazon EMR 不允许集群扩展 dfs.replication 下方的核心节点。例如,如果是 dfs.replication = 2,则最小核心节点数为 2。

  3. 当您使用托管扩缩、自动扩缩或选择手动调整集群大小时,建议您将设置 dfs.replication 为 2 或更高。

配置设置 描述
dfs.replication 为了形成类似 RAID 的环境而接收复制的单个数据块 (类似于硬盘数据块) 的 HDFS 节点的数量。确定包含该数据块副本的 HDFS 节点的数量。
io.sort.mb 排序可用的总内存大小。此值应该是 10x io.sort.factor。此设置也可用于计算任务节点所用的总内存大小,计算方法是 io.sort.mb 与 mapred.tasktracker.ap.tasks.maximum 相乘。
io.sort.spill.percent 供排序期间使用,在该点将开始使用磁盘,因为分配的排序内存已满。
mapred.child.java.opts 已淘汰。使用 mapred.map.child.java.opts 和 mapred.reduce.child.java.opts。启动 JVM 时 TaskTracker 使用的 Java 选项,以便在其中执行任务。通用参数是“-Xmx”,设置最大的内存大小。
mapred.map.child.java.opts 启动 JVM 时 TaskTracker 使用的 Java 选项,以便在其中执行地图任务。通用参数是“-Xmx”,设置最大的内存堆大小。
mapred.map.tasks.speculative.execution 确定同一任务的映射任务尝试是否可以并行启动。
mapred.reduce.tasks.speculative.execution 确定同一任务的 reduce 任务尝试是否可以并行启动。
mapred.map.max.attempts 可以尝试映射任务的最大次数。如果所有尝试都失败,那么该映射任务可标记为“失败”。
mapred.reduce.child.java.opts 启动 JVM 时 TaskTracker 使用的 Java 选项,以便在其中执行简化任务。通用参数是“-Xmx”,设置最大的内存堆大小。
mapred.reduce.max.attempts 可以尝试 reduce 任务的最大次数。如果所有尝试都失败,那么该映射任务可标记为“失败”。
mapred.reduce.slowstart.completed.maps 尝试 reduce 任务前应该完成的映射任务量。不等待足够长的时间可能会造成在尝试中出现“Too many fetch-failure”错误。
mapred.reuse.jvm.num.tasks 一个任务在单个 JVM 中运行。指定可以重新使用相同 JVM 的任务数。
mapred.tasktracker.map.tasks.maximum 映射期间每个任务节点可并行执行的任务的最大数量。
mapred.tasktracker.reduce.tasks.maximum 化简期间每个任务节点可并行执行的任务的最大数量。

如果您的集群任务需要使用大量内存,您可以通过在每个核心节点使用较少的任务以及降低作业跟踪程序堆大小来增强性能。

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。