hadoop cassandra cpu利用率

时间:2013-09-25 00:42:10

标签: performance hadoop cassandra

总结:如何让Hadoop在我的服务器上同时使用更多的CPU?

我在一台配备64GB RAM,SSD和16个CPU内核的高端服务器上运行Cassandra和Hadoop。我的mapreduce作业的输入有50M行。在映射阶段,Hadoop创建了七个映射器。其中六个完成得很快,第七个完成了两个小时以完成地图阶段。我建议更多这样的地图制作者......

job.getConfiguration()。set(“mapred.map.tasks”,“12”);

但Hadoop继续只创造七个。我想让更多的映射器并行运行,以更好地利用服务器中的16个核心。有人可以解释Hadoop如何决定创建多少个地图制作者?

在减少阶段,我有类似的担忧。我告诉Hadoop创建12个这样的缩减器......

job.setNumReduceTasks(12);

Hadoop确实创建了12个减速器,但是11个快速完成,最后一个减少了几个小时。我的工作有300K键,所以我不认为他们都被送到同一个减速器。

感谢。

1 个答案:

答案 0 :(得分:0)

地图任务编号取决于您的输入数据 例如:

  • 如果您的数据源是HBase,则该数字是您的数据的区域编号
  • 如果您的数据源是文件,则地图编号是您的文件大小/块大小(64mb或128mb)。

您无法在代码中指定地图编号

6快1慢的问题是因为数据不平衡。我以前没有使用过Cassandra,所以我不能告诉你如何解决它。