一、配置zookeeper
A、下载配置
# 下载zookeeper
wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz
B、修改配置文件
# 心跳包间隔(单位毫秒)
tickTime=2000
# LF初始通信时限
# 集群中的follower服务器与leader服务器之间初始连接时能容忍的最多心跳数(tickTime的数量)
initLimit=10
# LF同步通信时限
# 集群中的follower服务器与leader服务器之间的请求和应答之间能容忍的最多心跳数(tickTime的数量)
syncLimit=5
# 数据文件目录
# zookeeper保存数据的目录,默认情况下,zookeeper将写数据的日志文件也保存在这个目录下
dataDir=/tmp/zookeeper
# 客户端连接zookeeper服务器的端口,zookeeper会监听这个端口,接收客户端的访问请求
clientPort=2181
# 集群信息
# server.N=YYY:A:B
# 其中N表示服务器编号
# YYY表示服务器的IP地址
# A为LF通信端口,表示该服务器与集群中的leader交换的信息的端口
# B为选举端口,表示选举新leader时服务器间通信的端口(当leader挂掉时,其余服务器会相互通信,选择出新leader)
# leader、follower分别为IP地址,需要在host文件中添加host,否则直接替换为相应服务器的IP地址
server.1=leader:2888:3888
server.2=followerA:2888:3888
server.3=followerB:2888:3888
C、添加myid文件(表示机器编号)
echo
二、elastic-job console
A、编译elastic-job-lite-console工程
在github下载当当网开源的elastic-job工程,通过maven进行编译。
mvn install 编译全部项目(依赖)
mvn site elastic-job-lite-console
B、部署运行elastic-job-lite-console工程
拷贝elastic-job-lite-console-2.1.5.jar和elastic-job-lite-console-2.1.5.tar.gz至Tomcat,解压tar.gz文件,执行bin目录下start脚本,如果没有报错信息,查看http://127.0.0.1:8899/,可以看到web控制台界面,默认登录密码root/root。
三、编写具体job
elastic-job支持普通任务,以及嵌入spring的任务。普通Java任务,详见参考。这里编写嵌入spring的job。
A、新建mvn工程,添加依赖
<dependencies>
B、增加最基本spring配置
<?xml version="1.0" encoding="UTF-8"?>
Job配置。
<?xml version="1.0" encoding="UTF-8"?>
C、SimpleJob
非常精简的Java代码,更多对配置进行验证,运行代码,可以看到定时任务开始执行。
public
四、在console添加监控
添加zookeeper服务器,命名空间与xml配置中命名空间保持一致。
可以通过web的console对job进行控制。
五、zookeeper查看job状态
# 进入zk客户端 [zk: localhost:2181(CONNECTED) 0]
sh zkCli.sh
参考:
http://dangdangdotcom.github.io/elastic-job/elastic-job-lite/
http://blog.csdn.net/molong1208/article/details/53676211
http://blog.csdn.net/liaomengge/article/details/51340908