我已经配置了 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