更新时间:2025-07-14 GMT+08:00
开启Native Task特性后,Reduce任务在部分操作系统运行失败
问题
运行包含Reduce的Mapreduce任务时,通过-Dmapreduce.job.map.output.collector.class=org.apache.hadoop.mapred.nativetask.NativeMapOutputCollectorDelegator命令开启Native Task特性,任务在部分操作系统运行失败,日志中提示错误“version 'GLIBCXX_3.4.20' not found”。
回答
该问题原因是操作系统的GLIBCXX版本较低,导致该特性依赖的libnativetask.so.1.0.0库无法加载,进而导致任务失败。
规避手段:
- 登录FusionInsight Manager。
登录集群Manager具体操作,请参考访问MRS集群Manager。
- 选择“集群 > 服务 > Yarn > 配置 > 全部配置”。
- 在左侧导航栏选择“ResourceManager(角色) > 自定义”。
- 在“resourcemanager.mapred-site.customized.configs”参数中添加以下内容。
- 名称:mapreduce.job.map.output.collector.class
- 取值:org.apache.hadoop.mapred.MapTask$MapOutputBuffer
- 保存修改的配置。保存完成后请重新启动配置过期的服务或实例。
- 修改完成后需要重新下载客户端,或者更新客户端配置。
- 下载并安装集群客户端的具体操作,请参考安装MRS集群客户端。
- 更新客户端的具体操作,请参考服务端配置过期后更新MRS集群客户端。
父主题: Yarn常见问题