jobcontrol类最多能添加多少个任务一起运行?

[复制链接]
查看11 | 回复1 | 2021-1-27 05:40:48 | 显示全部楼层 |阅读模式
我在自己代码中jobcontrol的add函数,添加了20多个job,然后start运行,监控20多个任务的运行状态,很容易就报无法连接到jobhistoryserver的错误,然后不断重复报错,一个小时后自动继续运行程序,我的jobhistoryserver已经启动了,何解?
分 -->
回复

使用道具 举报

千问 | 2021-1-27 05:40:48 | 显示全部楼层
首先,我描述一下JobControl监控任务的过程:
JobControl添加了任务以后,监控20多个任务的状态的过程是JobControl轮循的访问jobhistoryserver去查询每个任务的执行状态,这个可以在HADOOP的源代码中找到。
个人给出一些查找出错原因的方法,可以酌情参考:
1.每个任务的状态都要独立访问一次jobhistoryserver,因此可能对jobhistoryserver造成了比较大的负担。可以看看jobhistoryserver的日志有没有相应的异常信息。
2.可以安装一些监控工具比如ganglia监控一下集群的状态,包括jobhistoryserver所在服务器的状态以及集群整体的负载,确认是否由于负载过大引起的异常。
3.在监控任务状态的循环中适当加入sleep以减少对jobhistoryserver的访问次数,看看是否能够减少错误。
4.可以尝试少添加一些任务来进行尝试,看看是否能够减少错误。
以上,属于经验之谈,至于一个小时后自动继续运行这个需要看看实际情况了,信息太少没法给出解决方法。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行