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

文章介绍了DolphinScheduler在生产环境中遇到的master-server和worker-server进程退出以及内存分配失败的问题。通过调整master.exec.threads和worker.exec.threads配置来限制并发任务数量,从而控制资源使用,避免资源耗尽导致的异常。设置并发限制能平滑资源峰值,有效防止进程退出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【问题描述】

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

查看master:

 

查看worker:

 

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

日志目录是:/logs/gc.log

【解决办法】

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

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

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

 

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

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

 

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

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

【总结】

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白杨Shayne

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值