0

我目前在 hadoop 中使用 wordcount 应用程序作为基准。我发现 CPU 使用率几乎保持在 80-90% 左右。我想有一个波动的CPU使用率。是否有任何 hadoop 应用程序可以为我提供此功能?非常感谢。

4

1 回答 1

2

我认为没有办法限制或指定 hadoop 使用的范围。Hadoop 将使用可用的 CPU。当我做很多工作时,我总是在 90% 以上的范围内。

控制 CPU 使用率的一种方法是更改​​每个 tasktracker 可以同时运行的映射器/减速器的最大数量。这是通过 中的 mapred.tasktracker.{map|reduce}.tasks.maximum设置完成的$HADOOP_HOME/conf/core-site.xml

当映射器/减速器的数量有限时,它将在该任务跟踪器上使用更少的 CPU。

mapred.tasktracker.{map|reduce}.tasks另一种方法是在设置作业时设置配置值。这将迫使该工作使用那么多映射器/缩减器。这个数字将在可用的任务跟踪器中分开,所以如果你有 4 个节点并且希望每个节点有 1 个映射器,你可以设置mapred.tasktracker.map.tasks4. 也有可能如果一个节点可以运行 4 个映射器,它将运行所有 4 个,我不知道 hadoop 将如何拆分任务,但强制每个作业分配一个数字是一种选择。

我希望这能帮助你到达你要去的地方。我还是不太明白你在找什么。:)

于 2011-04-21T20:22:24.780 回答