首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Map/Reduce运用杂记

2012-10-15 
Map/Reduce使用杂记一、硬件环境1、CPU:Intel(R) Core(TM)2 Duo CPUE4500@ 2.20GHz2、内存:2G3、硬盘:500G4、网

Map/Reduce使用杂记

一、硬件环境

1、CPU:Intel(R) Core(TM)2 Duo CPU E4500 @ 2.20GHz

2、内存:2G

3、硬盘:500G

4、网卡:百兆电卡

5、网络:局域网络

6、集群数量:10台机器,1个master,10个slaves(master也做slave了!呵呵)

二、关于同时运行的map和reduce数量。

1、同时运行的数量通过mapred.tasktracker.map.tasks.maximum和mapred.tasktracker.reduce.tasks.maximum设置。

2、默认的设置都是2,也就是说Avg. Tasks/Node=4

3、关于数量,并非越大越好。通过测试发现,一个合适的值在2-4之间,也就是说Avg. Tasks/Node的值在4-8.当然这个和机器的性能有关系。

4、就我当前的环境,通过测试发现,map和reduce的数量都设置成2速度最快。

三、reduce的数量问题

1、reduce的数量默认是1,mapred.reduce.tasks,配置文件中的描述如下:

The default number of reduce tasks per job. Typically set to 99%
of the cluster's reduce capacity, so that if a node fails the reduces can
still be executed in a single wave.
Ignored when mapred.job.tracker is "local".

2、但是在实际的环境中,reduce的数量还是尽量多一点好,数额建议基本等于集群机器的数量。

3、reduce的数量直接决定输出的结果文件,所以在查看结果的时候可以将结果文件归并查看,命令如下:

hadoop fs -getmerge /jz /root/

4、参数mapred.jobtracker.taskScheduler.maxRunningTasksPerJob,用来控制一个job最大并行tasks数,这个是指在集群最大并行数

热点排行