首页 / 操作系统 / Linux / MapReduce--如何设置Reducer的个数
1,在缺省情况下,一个mapreduce的job只有一个reducer;在大型集群中,需要使用许多reducer,中间数据都会放到一个reducer中处理,如果reducer数量不够,会成为计算瓶颈。2,reducer的最优个数与集群中可用的reducer的任务槽数相关,一般设置比总槽数稍微少一些的reducer数量;Hadoop文档中推荐了两个公式:0.95*NUMBER_OF_NODES*mapred.tasktracker.reduce.tasks.maximum1.75*NUMBER_OF_NODES*mapred.tasktracker.reduce.tasks.maximum备注:NUMBER_OF_NODES是集群中的计算节点个数;mapred.tasktracker.reduce.tasks.maximum:每个节点所分配的reducer任务槽的个数;3,在代码中通过:JobConf.setNumReduceTasks(Int numOfReduceTasks)方法设置reducer的个数;相关阅读:Ubuntu 13.04上搭建Hadoop环境 http://www.linuxidc.com/Linux/2013-06/86106.htmUbuntu 12.10 +Hadoop 1.2.1版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htmUbuntu上搭建Hadoop环境(单机模式+伪分布模式) http://www.linuxidc.com/Linux/2013-01/77681.htmUbuntu下Hadoop环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm单机版搭建Hadoop环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm搭建Hadoop环境(在Winodws环境下用虚拟机虚拟两个Ubuntu系统进行搭建) http://www.linuxidc.com/Linux/2011-12/48894.htm