Performance hadoop cassandra cpu利用率

Performance hadoop cassandra cpu利用率,performance,hadoop,cassandra,Performance,Hadoop,Cassandra,小结:如何让Hadoop在我的服务器上同时使用更多的CPU 我在一台高端服务器上运行Cassandra和Hadoop,该服务器具有64GB RAM、SSD和16个CPU核心。我的mapreduce作业的输入有50M行。在映射阶段,Hadoop创建了七个映射器。其中六个完成得非常快,第七个运行两个小时以完成地图阶段。我建议更多像这样的地图绘制者 job.getConfiguration().set(“mapred.map.tasks”,“12”) 但是Hadoop仍然只创建了七个。我想让更多的映射

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

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

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

但是Hadoop仍然只创建了七个。我想让更多的映射程序并行运行,以更好地利用服务器中的16个核心。有人能解释一下Hadoop是如何决定要创建多少映射程序的吗

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

job.setNumReduceTasks(12)

Hadoop确实创建了12个减速器,但11个减速器很快完成,最后一个减速器运行数小时。我的工作有30万把钥匙,所以我不认为它们都被传送到同一个减速器


谢谢。

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

  • 如果您的数据源是HBase,则编号是您数据的区域编号
  • 如果数据源是文件,则映射号是文件大小/块大小(64mb或128mb)
不能在代码中指定地图编号


6快1慢的问题是因为数据不平衡。我以前没有使用过卡桑德拉,所以我无法告诉您如何修复它。

Owen,谢谢您的回复。我的输入源既不是HBase也不是文件。这是一张卡桑德拉桌子。我知道你不能告诉Hadoop要创建多少映射程序,你只能建议映射程序的数量,这就是我在帖子中写的。实际上,这项工作需要八个小时才能完成,但大部分时间,我的16个CPU中只有一个忙。所以我需要弄清楚如何让12个或更多的映射器并行工作,12个或更多的还原器并行工作。也许你可以在映射器代码中添加并发功能。这将更容易控制。