DataEase数据集定时同步任务,同步详情报错:
I couldn't find the repository with name ‘XXX’
同时启动了这几个定时任务 每 5 分钟执行一次,有时成功有时失败,报错信息:
Error connecting to database: (using class org.gjt.mm.mysql.Driver)
Too man connections
原因分析:
DataEase 的定时同步的原理是 kettle 定时访问数据源抽取数据,然后将抽取的数据存储至 doris 中。因为数据库中配置了线程池,多个同步任务跑起来,kettle 访问数据源抽取数据,导致数据库连接池超出了最大连接数限制。
解决方法:
修改数据库的配置,调大超时等待时间
show SESSION VARIABLES like 'wait_timeout'; show GLOBAL VARIABLES like 'wait_timeout'; set GLOBAL wait_timeout = 300; set SESSION wait_timeout = 300;
修改数据库的配置,调大连接数限制(我环境配置了最大150个连接数)
show variables like "max_connections"; set global max_connections = 300;