我是Hadoop的新手。对MapReduce作业进行编码后,我决定在共享群集上对其进行测试。我最初在一个节点上测试了我的工作。但是后来,我添加了4个节点以在5个(1 + 4)上对其进行测试。容量调度程序显示以下信息:

队列配置
产能百分比:100.0%
使用者限制:100%
支持的优先级:否

map task
容量:10个插槽
已用容量:2(占容量的20.0%)
运行任务:2
Activity 用户:
用户'juancito':2(已使用容量的100.0%)

因为有1个节点,我有2个插槽,而现在有5个节点,我有10个插槽,所以我猜每个节点都有2个插槽(如果我错了,请纠正我)。现在,调度程序说我只使用了20%的容量。这是否意味着我实际上没有使用添加的4个节点?插槽数量会影响正在运行的作业的性能吗?有没有办法知道并行化实际上是否正在发生?如果未使用我添加的4个节点,如何将用户“juancito”(我自己)的容量从2增加到10,以便他可以享受5个节点的全部映射功能?谢谢。

最佳答案

您只使用了20%的容量,因为您只使用了10个插槽中的2个。这样做的原因是您的工作仅需要执行两个 map task 。您是否只有两个输入文件(或一个足够大以分为2个分割的输入文件)?

仅仅因为您拥有更多的能力,并不意味着您的工作实际上需要额外的能力。但是,您可以同时运行更多的作业,并且可以更好地利用群集资源。

关于hadoop - 在hadoop容量调度程序中增加用户容量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19956697/

10-16 01:14