增加hadoop容量调度器中的用户容量

增加hadoop容量调度器中的用户容量,hadoop,Hadoop,我是Hadoop新手。在编写MapReduce作业之后,我决定在共享集群上测试它们。我最初在一个节点上测试了我的工作。但后来我添加了4个节点,在5(1+4)上测试它。容量计划程序显示以下信息: 队列配置 容量百分比:100.0% 用户限制:100% 支持的优先级:否 映射任务 容量:10个插槽 使用容量:2(容量的20.0%) 正在运行的任务:2个 活动用户: 用户“juancito”:2(使用容量的100.0%) 因为对于1个节点,我有2个插槽,现在对于5个节点,我有10个插槽,我想每个节点都

我是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个节点的全部映射容量?谢谢。

您只使用了20%的容量,因为您只使用了10个插槽中的2个。原因是您的作业只需要两个映射任务。您是否只有两个输入文件(或者一个输入文件大到可以分成两部分)


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

您只使用了20%的容量,因为您只使用了10个插槽中的2个。原因是您的作业只需要两个映射任务。您是否只有两个输入文件(或者一个输入文件大到可以分成两部分)


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

您好,感谢您的深入了解。我只有一个大约300MB的文件。如果我理解正确,每个输入分割是64MB的,那么我的文件应该被分割成4/5个分割?如果是,这是否意味着我的作业需要4/5个映射任务?@Juanci当前默认块大小为128MB,因此将是3个映射者。可能您的群集配置为256MB的默认块大小?群集没有在最新版本的hadoop上运行,因此块大小为64MB。但是你告诉我的事让我很好奇,结果证明你是绝对正确的。实际上,我运行的是由三个作业组成的链,第一个作业的输出是第二个作业的输入,第二个作业的输出是第三个作业的输入。我最初没有给出这些细节,因为我认为它们没有那么重要。在我上面的问题中,我谈论的是第二份工作和第一份工作的投入,错误地认为在两份工作之间,规模或多或少会保持不变。但是第二个任务的输入只有110MB。正如你正确解释的那样,这只占2个地图槽。嗨,谢谢你的洞察力。我只有一个大约300MB的文件。如果我理解正确,每个输入分割是64MB的,那么我的文件应该被分割成4/5个分割?如果是,这是否意味着我的作业需要4/5个映射任务?@Juanci当前默认块大小为128MB,因此将是3个映射者。可能您的群集配置为256MB的默认块大小?群集没有在最新版本的hadoop上运行,因此块大小为64MB。但是你告诉我的事让我很好奇,结果证明你是绝对正确的。实际上,我运行的是由三个作业组成的链,第一个作业的输出是第二个作业的输入,第二个作业的输出是第三个作业的输入。我最初没有给出这些细节,因为我认为它们没有那么重要。在我上面的问题中,我谈论的是第二份工作和第一份工作的投入,错误地认为在两份工作之间,规模或多或少会保持不变。但是第二个任务的输入只有110MB。正如您正确解释的,这只占2个地图槽。