MapReduce参数优化

831

资源相关参数

1)以下参数是在用户自己的mr应用程序中配置就可以生效

配置参数

参数说明

mapreduce.map.memory.mb

一个Map Task可使用的资源上限(单位:MB),默认为1024。如果Map Task实际使用的资源量超过该值,则会被强制杀死。

mapreduce.reduce.memory.mb

一个Reduce Task可使用的资源上限(单位:MB),默认为1024。如果Reduce Task实际使用的资源量超过该值,则会被强制杀死。

mapreduce.map.java.opts

Map TaskJVM参数,你可以在此配置默认的java heap size等参数, e.g.

-Xmx1024m -verbose:gc -Xloggc:/tmp/@taskid@.gc” (@taskid@会被Hadoop框架自动换为相应的taskid, 默认值: “”

mapreduce.reduce.java.opts

Reduce TaskJVM参数,你可以在此配置默认的java heap size等参数, e.g.

-Xmx1024m -verbose:gc -Xloggc:/tmp/@taskid@.gc, 默认值: “”

mapreduce.map.cpu.vcores

每个Map task可使用的最多cpu core数目, 默认值: 1

mapreduce.reduce.cpu.vcores

每个Reduce task可使用的最多cpu core数目, 默认值: 1

2)应该在yarn启动之前就配置在服务器的配置文件中才能生效

配置参数

参数说明

yarn.scheduler.minimum-allocation-mb   1024

给应用程序container分配的最小内存

yarn.scheduler.maximum-allocation-mb   8192

给应用程序container分配的最大内存

yarn.scheduler.minimum-allocation-vcores 1


yarn.scheduler.maximum-allocation-vcores 32


yarn.nodemanager.resource.memory-mb   8192


3shuffle性能优化的关键参数,应在yarn启动之前就配置好

配置参数

参数说明

mapreduce.task.io.sort.mb   100

shuffle的环形缓冲区大小,默认100m

mapreduce.map.sort.spill.percent   0.8

环形缓冲区溢出的阈值,默认80%


831
  1. 热门面试题

  1. 小编推荐