文档库 最新最全的文档下载
当前位置:文档库 › 集群Hadoop性能测试

集群Hadoop性能测试

集群Hadoop性能测试
集群Hadoop性能测试

测试报告

1,测试方法

测试主要使用shell自动测试,在shell脚本中生成配置文件后,执行拷贝替换原有配置文件,每次执行开始记录开始时间,执行完毕后计算结束时间,手动统计每次执行时间。

时间包括更改配置文件,关闭启动Hadoop,执行测试用例和清除数据程序。

单项侧室以原有默认配置为基准,每次只更改一个配置文件,每次测试完成后自动将配置文件恢复到默认值。

2,Mapred-site.xml 测试结果

以下数据如无说明则使用以下测试用例:

●Mapred.job.reduce.input.buffer.percent 默认为0.0

0.0.2 .4 .6 .8 1.0

57'13 59'35 59'20 62'19 57'59 59'28

●mapred.inmem.merge.threshold默认为1000

10001500 2000 2500 3000 3500 4000

4'24 4'24 4'12 4'17 4'17 4'47 5'34

58' 57'29 57'20 57'12 58'45 57'23 57'18

●Mapred.job.shuffle.merge.percent 默认是0.66。

0.5.55 .60 .65 .7 .75 .8 .85 .9

58'4 57'12 57'6 56'28 58'2 56'22 57'26 56'48 56'25

●io.sort.spil1.percent 默认是80%。Mapred-site.xml

60 65 70 75 80 85 90 95 100 0 10 30 11'10 11'21 11'29 0'17 10'46 11'11 10'35 10'35 11'11 15'54 10'43 11'

●io.sort.factor 其默认值是10,将此默认值增加到100是比较常见的。

Value 10 30 50 70 90 100 120 140

Time 300+26 17 20 15 31 13 12 19

●Io.sort.mb 默认是100M对于大集群可设置为200M。此时要求child.java.opts.

设置为512

Val

ue

100 120 140 160 180 200 220 240 10 30 50 70 90

Ti me 6'

20

6'

17

6'

27

6'

22

5'

54

6'

23

6'

1

6'

21

6'

10

6'

15

6'

40

6'

33

6'

33

●mapred.reduce.paralle1.copies 默认值5,对于大集群可调整为16—50。

5 10 15 20 25 30 35 40 45

56' 30 58'

50

59'

2

58'

25

56'

27

59'

28

58'

24

57'

18

54'

18

● mapred.child.java.opts 默认-Xmx200m ,分配给每个任务200MB 内存。 可以

将其增大到-Xmx512m ,即512MB 。

设置JVM 堆的最大可用内存,需从应用程序角度进行配置 256 128*3 128*4 128*5 128*6 128*7 128*8 58'29

56'4

57'39

57'19

58'10

60'5

56'21

● tasktracker.http.threads 该属性设置集群中每个tasktracker 用于将map 输出传

给reducer 的工作线程的数量,默认是40。可以将其提高至40-50之间,能够增加并线线程数,提高集群性能

20 30 40 50 60 70 80 90 100

56'7 56'37 55'39 57'57 55'51 57'11 55'38 58'39 56'14

● mapred.job.shuffle.input.buffer.percent(default 0

.7)

0.2 .3 .4 .5 .6 .7 .8 .9 0 0.01 0.02 0.05 0.1 4'12 4'14 4'16 4'20 4'24 4'17 4'21 4'26 5'27 5'39 5'39 5'57 5'43

以下调度算法和压缩算法使用以下程序

● https://www.wendangku.net/doc/6a3630595.html,press.map.output ,推荐使用LZO 压缩。

Value False True

2'11'29

2'29'24

出现这种问题可能是测试时间相隔较长,机器资源分配不一样所致。

调度算法时间:(调度算法的测量是在使用压缩的基础上)

无调度Fair-scheduler Capacity-scheduler

2'29'24 2'3'13 2'15'49

3, core-site.xml 测试结果

●https://www.wendangku.net/doc/6a3630595.html,press.blocksize 块压缩时块的最小大小。

Value 50 100 150 200 250

Time 303 313 324 328 321

io.file.buffer.size 默认是4096字节

Value 4096 65535(64K) 131072(128K) 262144(256K) ●●304 ●318 ●322 ●324

4,全部优化选项打开后比较测试:

Default Opti

2'11'15 51'43

5,总结

从单项考虑,每一单项对性能提高不大,可能的原因是

●很多选项需要组合起作用,单项配置基本可以忽略,或者因为别的项目采取默认值导致

不起作用

●由于机器有其他任务运行,每项任务得到的资源可能会有所差别,导致结果出现偏差

但把所有优化选项打开后,可以看到,整体性能得到了极大提升,运行时间不到采用默认值运行时间的50%。

考虑到机器性能和网络环境,建议此实验结果只作为参考结果使用,具体实际使用中需要视具体运行软硬件环境决定配置选项的值。

相关文档