我目前在 hadoop 中使用 wordcount 应用程序作为基准。我发现 CPU 使用率几乎保持在 80-90% 左右。我想有一个波动的CPU使用率。是否有任何 hadoop 应用程序可以为我提供此功能?非常感谢。
问问题
2084 次
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.tasks
为4
. 也有可能如果一个节点可以运行 4 个映射器,它将运行所有 4 个,我不知道 hadoop 将如何拆分任务,但强制每个作业分配一个数字是一种选择。
我希望这能帮助你到达你要去的地方。我还是不太明白你在找什么。:)
于 2011-04-21T20:22:24.780 回答