我是hadoop的新手。
我已经设置了一个2节点集群。
如何在hadoop中并行运行2个作业。
当我提交作业时,它们按FIFO顺序逐个运行。我必须平行地完成这些工作。如何实现这一点。
由于 MRK
答案 0 :(得分:13)
Hadoop可配置多个调度程序,默认为FIFO调度程序。
FIFO计划的行为与此类似。
场景1:如果群集具有10个Map Task容量且job1需要15个Map Task,则运行job1将占用整个群集。当job1取得进展并且有可用的空闲插槽时,job1不使用,然后job2在集群上运行。
场景2:如果群集具有10个Map Task容量且job1需要6个Map Task,则job1需要6个槽,job2需要4个槽。 job1和job2并行运行。
要从头开始并行运行作业,您可以根据自己的要求配置Fair Scheduler或Capacity Scheduler。必须设置mapreduce.jobtracker.taskscheduler和特定的调度程序参数才能在mapred-site.xml中生效。
编辑:根据MRK的评论更新答案。
答案 1 :(得分:4)
您拥有“地图任务容量”和“减少任务容量”。只要这些是免费的,他们就会按照先后顺序挑选工作。您提交的作业包含映射器和可选的reducer。如果您的作业映射器(和/或缩减器)计数小于集群的容量,则它将占用下一个作业映射器(和/或缩减器)。
如果你不喜欢FIFO,你可以随时优先提交你提交的工作。
编辑:
对于轻微的错误信息感到抱歉,Praveen的回答是正确的。 除了他的回答,你还可以查看HOD scheduler。
答案 2 :(得分:2)
默认调度程序每个用户一次只能有一个作业。您可以从不同的用户ID启动不同的作业。当然,它们会并行运行,正如其他人所说,你需要有足够的插槽容量。