更新时间:2024-08-16 GMT+08:00

MapReduce任务commit阶段优化

操作场景

默认情况下,如果一个MR任务会产生大量的输出结果文件,那么该job在最后的commit阶段,会耗费较长的时间将每个task的临时输出结果commit到最终的结果输出目录。特别是在大集群中,大Job的commit过程会严重影响任务的性能表现。

针对以上情况,可以通过将以下参数“mapreduce.fileoutputcommitter.algorithm.version”配置为“2”,来提升MR Job commit阶段的性能。

操作步骤

参数入口:

进入Yarn服务参数“全部配置”界面,在搜索框中输入参数名称。具体操作请参考修改集群服务配置参数章节。

表1 参数说明

参数

描述

默认值

mapreduce.fileoutputcommitter.algorithm.version

用于指定Job的最终输出文件提交的算法版本,取值为“1”“2”

说明:

版本2为建议的优化算法版本。该算法通过让任务直接将每个task的输出结果提交到最终的结果输出目录,从而减少大作业的输出提交时间。

2