1、问题场景:
在elasticjob控制台,先在注册中心添加配置:
任务可以正常启动
接着kill掉zk,重新启动elasticjob 控制台,发现在注册中心无法加载到之前添加的配置
http://控制台地址/api/registry-center/load,这个api加载注册中心列表失败
2、问题原因:
192.168.1.2:2181 挂了,导致控制台启动时,一直在尝试连接这个zk,而且添加的配置是根据配置时间先后次序加载的,使用新的zk地址配置可以配置成功,但是无法加载(貌似2.1.5之前的版本,左边菜单栏也无法正常渲染)
3、解决问题:
使用启动elasticjob控制台的用户登录主机,在当前用户目录下(Windows在对应的用户目录下查找),发现隐藏目录
进入目录之后,看到Configurations.xml这个文件,文件内容就是具体的注册中心配置和事件追踪数据源配置。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<globalConfiguration>
<registryCenterConfigurations>
<registryCenterConfiguration name="用户中心定时任务" zkAddressList="192.168.1.2:2181" namespace="user-info-center-job" digest="" activated="false"/>
<registryCenterConfiguration name="测试任务" zkAddressList="192.168.1.2:2181" namespace="test-job" digest="" activated="true"/>
</registryCenterConfigurations>
<eventTraceDataSourceConfigurations>
<eventTraceDataSourceConfiguration name="执行记录" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://192.168.1.2:3306/job_log?useUnicode=true&&cha
racterEncoding=UTF-8&connectTimeout=3000&autoReconnect=true&socketTimeout=300000&useSSL=false" username="job_log" password="AGi@#fd2121" activated="t
rue"/>
</eventTraceDataSourceConfigurations>
</globalConfiguration>
解决问题方式1: 删除隐藏目录和文件,重新启动控制台,就可以正常使用,但需要重新配置(如果多个项目组使用同一个控制台,会影响启动小伙伴使用,不建议此方式);
解决问题方式2: 编辑有问题的配置,更改zk地址,再重新启动。