0

我已经配置了 4000 个地图的地图容量,并为每个作业配置了 500 个地图,基于我对 FIFO 模式的理解以及 如果我提交 8 个作业在 hadoop 中并行 运行作业,这 8 个作业应该并行运行,对吗?但是,我仍然看到我提交的 8 个作业是按顺序运行的,这让我感到很奇怪。另一种方法是尝试公平调度程序,但我还有一些其他正在运行的错误......如何使其并行运行?

我现在是唯一的用户。

问题:作业跟踪器 Web UI 显示的总运行作业是什么?

实际上我已经提交了 80 个作业,所以所有作业都已成功提交,因为我可以在“运行作业”部分看到其中的 80 个,但它们只是按顺序运行

问题:您当前正在处理多少个输入文件?这与该工作的映射器数量有什么关系?

因为对于每个作业,我通过 mapred-site.xml 设置 map.task.num=500 配置 500 个地图。

以下是信息

Kind % Complete Num Tasks Pending Running Complete Killed 失败/Killed Task Attempts

地图 1.40% 500 402 91 7 0 0 / 0

减少 0.00% 1 1 0 0 0 0 / 0

问题:您可以将输入格式配置为仅运行 500 个地图,但有时 Hadoop 会忽略此值:例如,如果您有超过 500 个输入文件。

我确信这不会发生,因为我自定义了输入格式,因此要运行的映射器数量正是我在 mapred-site.xml 中配置的映射器数量

问题:当你开始你的工作时,你运行了多少个文件,你使用的是什么输入格式,如果你对输入文件使用了任何文件压缩,该怎么办?

好吧,我其实只运行了一个文件,但是这个文件会完全加载到所有的maptasks中,所以我实际上使用了distrbutecache机制,让每个maptask完全加载这个文件。我目前没有使用压缩

问题:作业跟踪器对配置的映射器和减速器插槽的总数显示什么?这与您的预期值 5000 相符吗?

下面是资料

Maps 减少 TotalSubmissions 节点 Map Task Capacity 减少 Task Capacity Avg. 任务/节点 黑名单节点

83 0 80 8 4000 80 510.00 0

4

1 回答 1

0

无论您运行 FairScheduler 还是 CapacityScheduler,您仍然应该能够并行运行作业,但是您可能会看到某些原因会导致您的作业按顺序运行:

  • 你是唯一使用集群的人吗,如果不是,还有多少人在使用它:
    • 问题:作业跟踪器 Web UI 显示的总运行作业是什么?
  • 如果您确实是在特定时间点在集群上运行的唯一作业,请检查 Job Tracker Web UI 以了解您当前正在运行的作业 - 您当前正在处理多少输入文件?这与该工作的映射器数量有什么关系?
    • 您可以将输入格式配置为仅运行 500 个映射,但有时 Hadoop 会忽略此值:例如,如果您有超过 500 个输入文件。
    • 问题:当你开始你的工作时,你运行了多少个文件,你使用的是什么输入格式,如果你对输入文件使用了任何文件压缩,该怎么办?
  • 问题:作业跟踪器对配置的映射器和减速器插槽的总数显示什么?这与您的预期值 5000 相符吗?
于 2012-04-24T10:36:52.683 回答