任务调度器-DolphinScheduler调优-并发设置

【问题描述】

    DolphinScheduler在生产正式使用后,经常出现master-server或者worker-server进程退出,在“监控中心”可以查看存活的master或者worker;

查看master:

任务调度器-DolphinScheduler调优-并发设置_第1张图片

 

查看worker:任务调度器-DolphinScheduler调优-并发设置_第2张图片

 

并且在gc日志中出现内存分配失败GC (Allocation Failure)

任务调度器-DolphinScheduler调优-并发设置_第3张图片日志目录是:/logs/gc.log

【解决办法】

    通过查阅官方文档,发现两个很有用的配置,master.exec.threads和worker.exec.threads;

配置master.properties,我这里配置为5,意思是一个master最对运行5个流程实例;

任务调度器-DolphinScheduler调优-并发设置_第4张图片

配置worker.properties,我这里设置为10,意思是一个worker,最多运行10个任务实例;

任务调度器-DolphinScheduler调优-并发设置_第5张图片

 

 配置好后,已启动未运行的流程实例可以这样查看

任务调度器-DolphinScheduler调优-并发设置_第6张图片

已启动未运行的任务实例可以这样查看:

任务调度器-DolphinScheduler调优-并发设置_第7张图片

 

     可以选择“运行中”查看运行状态的任务实例;我有两个worker,理论上就是最多20个正在运行的任务实例,可以我数了之后,发现不止20个;后面查阅资料得知,“任务依赖”的任务实例,不占用运行实例名额,原因是“任务依赖”的任务实例不占用资源;

     去除“任务依赖”的任务实例后,果然是20个正着运行的任务。

【总结】

    这是两个非常有用的参数,通过控制并发的任务和流程,从而控制同一时间需要的资源,避免任务一下全部拉起来,导致资源耗尽使进程退出;

    设置了并发后,等于是把资源使用的峰值给抹平了,master-server和worker-server没有再出现进程退出和内存分配失败的异常。

你可能感兴趣的:(任务调度器,运维,任务调度器)