任务 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 表示不能重复使用任务。
本文原创发布php中文网,转载请注明出处,感谢您的尊重!