eclipse下开发mapreduce程序设置reduce个数无效的问题及解决

在Eclipse中调试MapReduce程序时遇到问题,尽管使用job.setNumReduceTasks(n)设置了reduce任务数量,但在运行时始终只有一个reduce任务。经过调查发现,程序运行在LocalJobRunner的本地模式下,该模式仅支持一个reduce任务。深入源代码研究,发现JobClient在初始化时可能错误地选择了LocalJobRunner,导致无法切换到集群模式。解决此问题的关键在于确保正确配置并提交到分布式模式进行运行。
摘要由CSDN通过智能技术生成

reduce个数是可以根据集群和项目具体情况设置的,新接口中用job.setNumReduceTasks(n);即可设置,但前几天用eclipse调试mapreduce程序时发现无论设置reduce个数是多少,运行时仍然只有一个reduce,输出目录里也只有一个输出文件part-r-00000。

看运行日志中启动的是LocalJobRunner, 网上查询得知hadoop有本地、伪分布、完全分布三种模式,LocalJobRunner是运行的本地模式,所以只能有一个reduce,但我明明配置了集群!

接下来查看源代码看看能不能找出启动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值