elastic-job控制台部署与使用

前言

elastic-job官方提供了对于后台应用中的job管控台,可以比较方便的对正在运行的分布式job做一些基本的管理,比如修改job配置参数,启停,废除任务等,下面让我们将控制台部署起来看看效果如何

1、git下载elasticjob源码

git地址:https://github.com/apache/shardingsphere-elasticjob

通过git命令将项目下载到服务器或者本地,
在这里插入图片描述

2、进入项目根目录,执行编译打包命令

mvn clean install -Dmaven.test.skip=true

经过漫长的打包,终于将所需的包打好了
在这里插入图片描述

3、将控制台的jar包拷贝到本地并启动
在这里插入图片描述

windows环境下,进入bin目录后,可以直接通过start.bat进行启动
在这里插入图片描述
启动成功后,默认的段开是8899,浏览器访问:localhost:8899,可以看到如下界面
在这里插入图片描述

管控台使用

1、配置zk注册中心

通过之前的内容我们知道,es-job依赖zk,因此首先我们需要将zk的配置信息添加进去
在这里插入图片描述
2、job操作

后台启动服务,以上一篇的simpleJob为例,当job开始运行之后,在控制台的作业操作一栏,可以看到任务的相关参数信息已经展示在列表上面了,对应着程序中job的配置参数

在这里插入图片描述

在这里插入图片描述

基于此,我们可以对当前运行中的job做相应的操作

详情
在这里插入图片描述
列出当前job对应的分片项信息,比如当前的这个job设置了2个分片,由于只启动了一个示例,而且在同一台机器,因此IP相同,进程号也一样

点击失效
在这里插入图片描述
这时发现分片项0已经失效,后台不再输出关于分片项0的信息
在这里插入图片描述

修改
在这里插入图片描述
点击修改可以看到关于当前simpleJob的完整参数信息,当前的job每5秒执行一次,假如我们将其改为每10秒执行一次,通过控制台打印的时间窗口可以看到已经生效了

在这里插入图片描述
失效或终止

在这里插入图片描述
顾名思义,即将当前job停止运行,点击失效后,我们再次观察控制台,发现任务就不再执行了
在这里插入图片描述

关于任务的界面操作是比较简单的,大家可以尝试下,下面我们通过控制台来看看elastic-job的另一个功能,任务追踪

事件追踪

Elastic-Job提供了事件追踪功能,用于查询、统计和监控作业执行历史和执行状态。Elastic-Job-Lite在配置中提供了JobEventConfiguration,目前支持数据库方式配置。事件追踪所配置的DataSource数据库中会自动创建JOB_EXECUTION_LOG和JOB_STATUS_TRACE_LOG两张表以及若干索引

简而言之,esJob在运行过程中的产生的相关数据会被记录到这两张表中去,方便开发人员快速定位job运行过程中的日志数据或问题等操作

springboot集成事件追踪功能

在上一篇的项目中,我们增加mysql的依赖和配置

		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url=jdbc:mysql://IP:3306/dataflow?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

然后再在JobScheduler的配置bean中,将JobEventConfiguration这个配置对象加入即可,以上篇的mySimpleJob为例,修改后的代码如下:

@Configuration
public class MySimpleJobConfig {

    @Value("${mySimpleJob.cron}")
    private String cron;

    @Value("${mySimpleJob.shardingTotalCount}")
    private int shardingTotalCount;

    @Value("${mySimpleJob.shardingItemParameters}")
    private String shardingItemParameters;

    @Autowired
    private ZookeeperRegistryCenter regCenter;

    @Autowired
    private MySimpleJob mySimpleJob;

    @Autowired
    private DataSource dataSource;

    @Bean(initMethod = "init")
    public JobScheduler simpleJobScheduler() {
        JobEventConfiguration jcf = new JobEventRdbConfiguration(dataSource);
        return new SpringJobScheduler(mySimpleJob, regCenter,
                ElasticJobUtils.getSimpleJobConfiguration(
                        mySimpleJob.getClass(),
                        cron,
                        shardingTotalCount,
                        shardingItemParameters),jcf
                //,new MyElasticJobListener() 可配置监听器
        );
    }

}

然后,启动项目,这时可以看到,在数据库中,就会在dataflow库下生成了两张表
在这里插入图片描述
同时,一旦任务开始运行,job运行过程中产生的数据就会记录到表中去,想必表中的字段信息大家一看便知,就不再过多解释了
在这里插入图片描述

这里想要说的是,可以通过elastic-job控制台将这些数据展示到界面上,更方便我们观察,怎么操作呢?

点击左侧的数据源追踪配置,填写mysql的连接信息

在这里插入图片描述

在这里插入图片描述

这时我们再次启动后台项目,再到控制台中观察作业的历史操作和历史轨迹,可以发现job的执行信息都可以展示在控制台上了
在这里插入图片描述

本篇主要讲述了如何部署elastic-job控制台,以及elastic-job控制台的基本使用,最后基于elastic-job的事件追踪功能,将产生的数据展示到控制台上方便运维和管理,本篇到此结束,最后感谢观看!

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小码农叔叔

谢谢鼓励

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

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

打赏作者

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

抵扣说明:

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

余额充值