MapReduce参数优化
资源相关参数
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 Task的JVM参数,你可以在此配置默认的java heap size等参数, e.g. “-Xmx1024m -verbose:gc -Xloggc:/tmp/@taskid@.gc” (@taskid@会被Hadoop框架自动换为相应的taskid), 默认值: “” |
mapreduce.reduce.java.opts | Reduce Task的JVM参数,你可以在此配置默认的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 |
3)shuffle性能优化的关键参数,应在yarn启动之前就配置好
配置参数 | 参数说明 |
mapreduce.task.io.sort.mb 100 | shuffle的环形缓冲区大小,默认100m |
mapreduce.map.sort.spill.percent 0.8 | 环形缓冲区溢出的阈值,默认80% |
-
热门面试题
-
小编推荐