LTS light-task-scheduler轻量级分布式任务调度框架学习

本文档详细记录了LTS(light-task-scheduler)的使用过程,包括导入Maven项目、安装Zookeeper、启动LTS服务、打包与引入jar包,并在最后讲述了如何管理后台任务。在实践中遇到的困难和解决方法也在文中有所记录。

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

由于业务需求,我们数据仓库定时器太多了,又难管理,每次要更改定时器都得重启服务实在麻烦。上面又让换个框架,给了个LTS,今天开始学习哈。有问题就记录下来,对于一个资质一般的妹子而言,写程序简直太难了大哭大哭大哭。LTS网站内容很全,可是还是没教会我,是我太笨了么?
github地址: https://github.com/ltsopensource/light-task-scheduler
oschina地址: http://git.oschina.net/hugui/light-task-scheduler

1、导入maven项目

刚开始看着下载的文档,按照一般做法Import项目发现不行,然后又折腾半天,看了pom.xml文件都比较特殊,项目都有parent项目,所以这里应该是直接导入maven项目,用maven管理比较方便。成功导入。导入之后的项目结构如图。

这里写图片描述

2、执行测试用例
运行给的api例子,测试JobTraker,这里用到了jdbc,我把jdbc的配置地址改成可用的地址。运行,结果报错如下:

[INFO ] [15:45:27] org.apache.zookeeper.ZooKeeper - Initiating client connection, connectString=127.0.0.1:2181 sessionTimeout=30000 watcher=org.I0Itec.zkclient.ZkClient@b8cabe
[INFO ] [15:45:27] org.apache.zookeeper.ClientCnxn - Opening socket connection to server 127.0.0.1/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)
[WARN ] [15:45:28] org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused: no further information
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(Unknown Source)
at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:350)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1068)

这个错误的意思是连接服务失败了,zookeeper的地址有问题,需要一个zookeeper服务!!!!!我选择在内网的一台服务器192.168.100.214上装了一个zookeeper,这里还需要数据库的配置,我把LTS的数据库放在192.168.100.213

3、安装部署zookeeper

zookeeper的官方网站下载包 http://apache.fayea.com/zookeeper/

  我下的版本是zookeeper-3.4.6.tar.gz
  上传至服务,解压。
  通过努力,修改配置文件,原来的是zoo-sample.cfg,复制创建一个zoo.cfg,修改dataDIr和dataLogDir路径(其实也可以不修改的),zoo.cfg内容如下:
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes. 自己配置 没有的话创建一个
dataDir=/home/hadoop/zookeeper/data
dataLogDir=/home/hadoop/zookeeper/log
# the port at which the clients will connect 
clientPort=2181

然后启动,zkServer.sh start,启动成功了,太开心了。也可以再启动一个client,zkCli.sh -server localhost:2181,测试连接成功了。

4、运行lts-example
  再来测试一下lts-example中的类,都能够顺利启动成功,JobTrakerTest日志如下:
[INFO ] [18:06:33] com.lts.core.cluster.SubscribedNodeManager -  [LTS] Add {
  "address":"192.168.100.115:35001","available":true,"clusterName":"test_cluster","createTime":1461146782683,"group":"lts","hostName":"gyhdomain","httpCmdPort":8719,"identity":"3A7C23C32FD84A59B835CE554E685E32","ip":"192.168.100.115","nodeType":"JOB_TRACKER","port":35001,"threads":2}, lts version: 1.6.6-SNAPSHOT, current host: 192.168.100.115
[INFO ] [18:06:33] com.lts.core.cluster.MasterElector -  [LTS] Current node become the master node:{
  "address":"192.168.100.115:35001","available":true,"clusterName":"test_cluster","createTime":1461146782683,"group":"lts","hostName":"gyhdomain","httpCmdPort":8719,"identity":"3A7C23C32FD84A59B835CE554E685E32","ip":"192.168.100.115","nodeType":"JOB_TRACKER","port":35001,"threads":2}, lts version: 1.6.6-SNAPSHOT, current host: 192.168.100.115
[INFO ] [18:06:33] com.lts.jobtracker.support.checker.FeedbackJobSendChecker -  [LTS] Feedback job checker started!, lts version: 1.6.6-SNAPSHOT, current host: 192.168.100.115
[INF
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值