欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

任务配置 (Hadoop 2.2.0)

程序员文章站 2024-01-30 15:48:04
...

任务 JVM 内存设置 (AMI 3.0.0) Hadoop 2.2.0 使用两个参数配置用于 map 和 reduce 的内存:分别为 mapreduce.map.java.opts 和 mapreduce.reduce.java.opts。它们取代了早期 Hadoop 版本中的单个配置选项:mapreduce.map.java.opts。 下表显示了每实例类型

任务 JVM 内存设置 (AMI 3.0.0)

Hadoop 2.2.0 使用两个参数配置用于 map 和 reduce 的内存:分别为 mapreduce.map.java.opts 和 mapreduce.reduce.java.opts。它们取代了早期 Hadoop 版本中的单个配置选项:mapreduce.map.java.opts。

下表显示了每实例类型的这些设置的默认值。

m1.medium

配置选项 默认值
mapreduce.map.java.opts -Xmx768m
mapreduce.reduce.java.opts -Xmx768m
mapreduce.map.memory.mb 1024
mapreduce.reduce.memory.mb 1024
yarn.scheduler.minimum-allocation-mb 512
yarn.scheduler.maximum-allocation-mb 2048
yarn.nodemanager.resource.memory-mb 2048

m1.large

配置选项 默认值
mapreduce.map.java.opts -Xmx864m
mapreduce.reduce.java.opts -Xmx1536m
mapreduce.map.memory.mb 1024
mapreduce.reduce.memory.mb 2048
yarn.scheduler.minimum-allocation-mb 512
yarn.scheduler.maximum-allocation-mb 3072
yarn.nodemanager.resource.memory-mb 5120

m1.xlarge

配置选项 默认值
mapreduce.map.java.opts -Xmx512m
mapreduce.reduce.java.opts -Xmx1536m
mapreduce.map.memory.mb 768
mapreduce.reduce.memory.mb 2048
yarn.scheduler.minimum-allocation-mb 256
yarn.scheduler.maximum-allocation-mb 8 192
yarn.nodemanager.resource.memory-mb 12288

m2.xlarge

配置选项 默认值
mapreduce.map.java.opts -Xmx1280m
mapreduce.reduce.java.opts -Xmx2304m
mapreduce.map.memory.mb 1536
mapreduce.reduce.memory.mb 2560
yarn.scheduler.minimum-allocation-mb 512
yarn.scheduler.maximum-allocation-mb 7168
yarn.nodemanager.resource.memory-mb 14336

m2.2xlarge

配置选项 默认值
mapreduce.map.java.opts -Xmx1280m
mapreduce.reduce.java.opts -Xmx2304m
mapreduce.map.memory.mb 1536
mapreduce.reduce.memory.mb 2560
yarn.scheduler.minimum-allocation-mb 512
yarn.scheduler.maximum-allocation-mb 8 192
yarn.nodemanager.resource.memory-mb 30720

m3.xlarge

配置选项 默认值
mapreduce.map.java.opts -Xmx1515m
mapreduce.reduce.java.opts -Xmx1792m
mapreduce.map.memory.mb 1904
mapreduce.reduce.memory.mb 2150
yarn.scheduler.minimum-allocation-mb 532
yarn.scheduler.maximum-allocation-mb 3788
yarn.nodemanager.resource.memory-mb 5273

m3.2xlarge

配置选项 默认值
mapreduce.map.java.opts -Xmx2129m
mapreduce.reduce.java.opts -Xmx2560m
mapreduce.map.memory.mb 2826
mapreduce.reduce.memory.mb 3072
yarn.scheduler.minimum-allocation-mb 532
yarn.scheduler.maximum-allocation-mb 5324
yarn.nodemanager.resource.memory-mb 9113

m2.4xlarge

配置选项 默认值
mapreduce.map.java.opts -Xmx1280m
mapreduce.reduce.java.opts -Xmx2304m
mapreduce.map.memory.mb 1536
mapreduce.reduce.memory.mb 2560
yarn.scheduler.minimum-allocation-mb 512
yarn.scheduler.maximum-allocation-mb 8 192
yarn.nodemanager.resource.memory-mb 61440

c1.medium

配置选项 默认值
io.sort.mb 100
mapreduce.map.java.opts -Xmx288m
mapreduce.reduce.java.opts -Xmx288m
mapreduce.map.memory.mb 512
mapreduce.reduce.memory.mb 512
yarn.scheduler.minimum-allocation-mb 256
yarn.scheduler.maximum-allocation-mb 512
yarn.nodemanager.resource.memory-mb 1024

c1.xlarge

配置选项 默认值
io.sort.mb 150
mapreduce.map.java.opts -Xmx864m
mapreduce.reduce.java.opts -Xmx1536m
mapreduce.map.memory.mb 1024
mapreduce.reduce.memory.mb 2048
yarn.scheduler.minimum-allocation-mb 512
yarn.scheduler.maximum-allocation-mb 2048
yarn.nodemanager.resource.memory-mb 5120

c3.large

配置选项 默认值
mapreduce.map.java.opts -Xmx768m
mapreduce.reduce.java.opts -Xmx768m
mapreduce.map.memory.mb 921
mapreduce.reduce.memory.mb 921
yarn.scheduler.minimum-allocation-mb 499
yarn.scheduler.maximum-allocation-mb 1920
yarn.nodemanager.resource.memory-mb 1920

c3.xlarge

配置选项 默认值
mapreduce.map.java.opts -Xmx1177m
mapreduce.reduce.java.opts -Xmx1356m
mapreduce.map.memory.mb 1413
mapreduce.reduce.memory.mb 1628
yarn.scheduler.minimum-allocation-mb 532
yarn.scheduler.maximum-allocation-mb 2944
yarn.nodemanager.resource.memory-mb 3302

c3.2xlarge

配置选项 默认值
mapreduce.map.java.opts -Xmx1515m
mapreduce.reduce.java.opts -Xmx1792m
mapreduce.map.memory.mb 1904
mapreduce.reduce.memory.mb 2150
yarn.scheduler.minimum-allocation-mb 532
yarn.scheduler.maximum-allocation-mb 3788
yarn.nodemanager.resource.memory-mb 5273

c3.4xlarge

配置选项 默认值
mapreduce.map.java.opts -Xmx2129m
mapreduce.reduce.java.opts -Xmx2560m
mapreduce.map.memory.mb 2826
mapreduce.reduce.memory.mb 3072
yarn.scheduler.minimum-allocation-mb 532
yarn.scheduler.maximum-allocation-mb 5324
yarn.nodemanager.resource.memory-mb 9113

c3.8xlarge

配置选项 默认值
mapreduce.map.java.opts -Xmx4669m
mapreduce.reduce.java.opts -Xmx4915m
mapreduce.map.memory.mb 4669
mapreduce.reduce.memory.mb 4915
yarn.scheduler.minimum-allocation-mb 532
yarn.scheduler.maximum-allocation-mb 8396
yarn.nodemanager.resource.memory-mb 16793

cc1.4xlarge

配置选项 默认值
mapreduce.map.java.opts -Xmx1280m
mapreduce.reduce.java.opts -Xmx2304m
mapreduce.map.memory.mb 1536
mapreduce.reduce.memory.mb 2560
yarn.scheduler.minimum-allocation-mb 512
yarn.scheduler.maximum-allocation-mb 5120
yarn.nodemanager.resource.memory-mb 20480

cg1.4xlarge

配置选项 默认值
mapreduce.map.java.opts -Xmx1280m
mapreduce.reduce.java.opts -Xmx2304m
mapreduce.map.memory.mb 1536
mapreduce.reduce.memory.mb 2560
yarn.scheduler.minimum-allocation-mb 512
yarn.scheduler.maximum-allocation-mb 5120
yarn.nodemanager.resource.memory-mb 20480

cc2.8xlarge

配置选项 默认值
mapreduce.map.java.opts -Xmx1280m
mapreduce.reduce.java.opts -Xmx2304m
mapreduce.map.memory.mb 1536
mapreduce.reduce.memory.mb 2560
yarn.scheduler.minimum-allocation-mb 512
yarn.scheduler.maximum-allocation-mb 8 192
yarn.nodemanager.resource.memory-mb 56320

cr1.8xlarge

配置选项 默认值
mapreduce.map.java.opts -Xmx10895m
mapreduce.reduce.java.opts -Xmx13516m
mapreduce.map.memory.mb 15974
mapreduce.reduce.memory.mb 16220
yarn.scheduler.minimum-allocation-mb 532
yarn.scheduler.maximum-allocation-mb 27238
yarn.nodemanager.resource.memory-mb 63897

g2.2xlarge

配置选项 默认值
mapreduce.map.java.opts -Xmx512m
mapreduce.reduce.java.opts -Xmx1536m
mapreduce.map.memory.mb 768
mapreduce.reduce.memory.mb 2048
yarn.scheduler.minimum-allocation-mb 256
yarn.scheduler.maximum-allocation-mb 8 192
yarn.nodemanager.resource.memory-mb 12288

hi1.4xlarge

配置选项 默认值
mapreduce.map.java.opts -Xmx3379m
mapreduce.reduce.java.opts -Xmx4121m
mapreduce.map.memory.mb 4700
mapreduce.reduce.memory.mb 4945
yarn.scheduler.minimum-allocation-mb 532
yarn.scheduler.maximum-allocation-mb 8448
yarn.nodemanager.resource.memory-mb 16921

hs1.8xlarge

配置选项 默认值
mapreduce.map.java.opts -Xmx1280m
mapreduce.reduce.java.opts -Xmx2304m
mapreduce.map.memory.mb 1536
mapreduce.reduce.memory.mb 2560
yarn.scheduler.minimum-allocation-mb 512
yarn.scheduler.maximum-allocation-mb 8 192
yarn.nodemanager.resource.memory-mb 56320

i2.xlarge

配置选项 默认值
mapreduce.map.java.opts -Xmx2150m
mapreduce.reduce.java.opts -Xmx2585m
mapreduce.map.memory.mb 2856
mapreduce.reduce.memory.mb 3102
yarn.scheduler.minimum-allocation-mb 532
yarn.scheduler.maximum-allocation-mb 5376
yarn.nodemanager.resource.memory-mb 9241

i2.2xlarge

配置选项 默认值
mapreduce.map.java.opts -Xmx3399m
mapreduce.reduce.java.opts -Xmx4147m
mapreduce.map.memory.mb 4730
mapreduce.reduce.memory.mb 4976
yarn.scheduler.minimum-allocation-mb 532
yarn.scheduler.maximum-allocation-mb 8499
yarn.nodemanager.resource.memory-mb 17049

i2.4xlarge

配置选项 默认值
mapreduce.map.java.opts -Xmx5898m
mapreduce.reduce.java.opts -Xmx7270m
mapreduce.map.memory.mb 8478
mapreduce.reduce.memory.mb 8724
yarn.scheduler.minimum-allocation-mb 532
yarn.scheduler.maximum-allocation-mb 14745
yarn.nodemanager.resource.memory-mb 32665

i2.8xlarge

配置选项 默认值
mapreduce.map.java.opts -Xmx10895m
mapreduce.reduce.java.opts -Xmx13516m
mapreduce.map.memory.mb 15974
mapreduce.reduce.memory.mb 16220
yarn.scheduler.minimum-allocation-mb 532
yarn.scheduler.maximum-allocation-mb 27238
yarn.nodemanager.resource.memory-mb 63897

r3.xlarge

配置选项 默认值
mapreduce.map.java.opts -Xmx2150m
mapreduce.reduce.java.opts -Xmx3102m
mapreduce.map.memory.mb 2856
mapreduce.reduce.memory.mb 3102
yarn.scheduler.minimum-allocation-mb 532
yarn.scheduler.maximum-allocation-mb 5376
yarn.nodemanager.resource.memory-mb 9241

r3.2xlarge

配置选项 默认值
mapreduce.map.java.opts -Xmx3399m
mapreduce.reduce.java.opts -Xmx4147m
mapreduce.map.memory.mb 4743
mapreduce.reduce.memory.mb 4976
yarn.scheduler.minimum-allocation-mb 532
yarn.scheduler.maximum-allocation-mb 8499
yarn.nodemanager.resource.memory-mb 17049

r3.4xlarge

配置选项 默认值
mapreduce.map.java.opts -Xmx5898m
mapreduce.reduce.java.opts -Xmx7270m
mapreduce.map.memory.mb 8478
mapreduce.reduce.memory.mb 8724
yarn.scheduler.minimum-allocation-mb 532
yarn.scheduler.maximum-allocation-mb 14745
yarn.nodemanager.resource.memory-mb 32665

r3.8xlarge

配置选项 默认值
mapreduce.map.java.opts -Xmx10895m
mapreduce.reduce.java.opts -Xmx13516m
mapreduce.map.memory.mb 15974
mapreduce.reduce.memory.mb 16220
yarn.scheduler.minimum-allocation-mb 532
yarn.scheduler.maximum-allocation-mb 27238
yarn.nodemanager.resource.memory-mb 69897

您可以在执行每项任务时启动新 JVM,实现更好的任务隔离;也可以在各项任务之间共享 JVM,降低框架开销。如果您处理的是许多小文件,合理的做法是多次重复使用 JVM,以摊销启动成本。然而,如果每项任务耗时较长或处理的数据量较大,您可以选择不重复使用 JVM,以确保释放出所有内存供后续任务使用。

使用 mapred.job.reuse.jvm.num.tasks 选项配置 JVM 重复使用设置。

使用引导操作修改 JVM

  • 在安装了 Amazon EMR CLI 的目录下,从命令行运行以下命令。有关更多信息,请参见 Amazon EMR 的命令行接口参考。

    • Linux、UNIX 和 Mac OS X 用户:

      ./elastic-mapreduce --create --alive --name "JVM infinite reuse" \
      --bootstrap-action s3://elasticmapreduce/bootstrap-actions/configure-hadoop \
      --bootstrap-name "Configuring infinite JVM reuse" \
      --args "-m,mapred.job.reuse.jvm.num.tasks=-1"
    • Windows 用户:

      ruby elastic-mapreduce --create --alive --name "JVM infinite reuse" --bootstrap-action s3://elasticmapreduce/bootstrap-actions/configure-hadoop --bootstrap-name "Configuring infinite JVM reuse" --args "-m,mapred.job.reuse.jvm.num.tasks=-1"

Note

Amazon EMR 已将 mapred.job.reuse.jvm.num.tasks 的值设置为 20,但您可以通过引导操作覆盖此值。值 -1 表示在单一作业中重复使用的次数不受限制,1 表示不能重复使用任务。