我是Hadoop的新手。编码MapReduce作业后,我决定在共享集群上测试它们。我最初在一个节点上测试了我的工作。但后来我添加了4个节点在5(1 + 4)上测试它。容量调度程序显示以下信息:
队列配置
容量百分比:100.0%
用户限制:100%
支持优先级:否
映射任务
容量:10个插槽
使用容量:2(容量的20.0%)
运行任务:2
活跃用户:
用户'juancito':2(100.0%的已用容量)
因为1个节点我有2个插槽,现在有5个节点我有10个插槽,我想每个节点有两个插槽(如果我错了,请纠正我)。现在,调度程序说我只使用了20%的容量。这是否意味着我实际上并没有使用我添加的4个节点?插槽数量是否会影响正在运行的作业的性能?有没有办法知道并行化是否真的发生了?如果我没有使用我添加的4个节点,如何将用户'juancito'(我自己)的容量从2增加到10,这样他就可以享受5个节点的完整映射容量?感谢。
答案 0 :(得分:1)
您只使用了20%的容量,因为您只使用了10个插槽中的2个。原因是你的工作只需要两个地图任务。您是否只有两个输入文件(或一个足够大的输入文件可分为两个分区)?
仅仅因为你有更多的容量,这并不意味着你的工作实际上需要额外的容量。但是,您可以同时运行更多作业,并能够更好地利用群集资源。