我在尝试基准测试 Hadoop 在 EC2 . 我使用的是一个1gb文件,有1个主文件和5个从文件。当我改变主意的时候 dfs.blocksize 就像 1m, 64m, 128m, 500m. 我期待在128m的最佳性能,因为文件大小是1gb,有5个从机。但令我惊讶的是,无论区块大小,所用时间或多或少都在同一范围内。我是怎么做到这一点的?
Hadoop
EC2
dfs.blocksize
1m, 64m, 128m, 500m.
irtuqstp1#
首先要考虑几个最可能的解释检查是否正确地传递系统变量以控制作业的拆分大小,如果不更改此设置,则不会更改Map器的数量(可以在jobtracker ui中检查)。如果你每次都得到相同数量的Map绘制者,你实际上什么都没有改变。要更改拆分大小,请使用系统道具 mapred.min.split.size 以及 mapred.max.split.size 请确保您确实在访问集群,并且没有意外地使用1个进程在本地运行请注意(与spark不同)hadoop的作业初始化时间非常糟糕。ime大约是20秒,因此对于只有1GB的数据,您实际上看不到太大的时间差,因为大部分作业都花在初始化上。
mapred.min.split.size
mapred.max.split.size
1条答案
按热度按时间irtuqstp1#
首先要考虑几个最可能的解释
检查是否正确地传递系统变量以控制作业的拆分大小,如果不更改此设置,则不会更改Map器的数量(可以在jobtracker ui中检查)。如果你每次都得到相同数量的Map绘制者,你实际上什么都没有改变。要更改拆分大小,请使用系统道具
mapred.min.split.size
以及mapred.max.split.size
请确保您确实在访问集群,并且没有意外地使用1个进程在本地运行请注意(与spark不同)hadoop的作业初始化时间非常糟糕。ime大约是20秒,因此对于只有1GB的数据,您实际上看不到太大的时间差,因为大部分作业都花在初始化上。