使用相同的mapreduce代码/ jar启动多个mapreduce作业

时间:2015-10-02 18:34:29

标签: hadoop

我正在使用Table MapReduce Util运行mapreduce作业,它使用hbase表数据(100万行)作为输入,在mapper中我正在为从hbase表输入的每一行评估一组特定的表达式,并且它已经完成了时间,只要要为特定行评估的表达式大约为10到20。

但是随着表达式的数量增加到100(为hbase表中的每一行计算),我的mapreduce工作花费了很多时间,所以我想要并行使用相同的工作(相同的mapreduce jar)10次每个10个表达式,这样如果所有作业并行运行,我可以更快地实现输出。我尝试使用shell脚本并行启动10个作业,但最初2个作业并行完成,然后只启动其他两个作业等等......据我所知,这个jar文件只能启动2个并行一次只能在当前正在运行的作业完成时允许其他作业访问它。

有没有其他方法可以使用相同的map reduce jar文件并行启动所有作业...?

1 个答案:

答案 0 :(得分:0)

作业中没有任何内容可以并行执行2次以上。 MapReduce和HBase支持它。

IMO,问题在于您的节点'资源。如果没有足够的插槽可用于执行下一个任务,那么您的作业将排队,直到资源被释放。按顺序工作比并行工作更多。

您可以添加更多节点(并将数据分发到新节点以实现功能)或调整资源配置(任务,调度程序,vCore等使用的内存)以查看是否能解决您的问题。