springBoot+elasticJob

springboot集成elastic-job

一、安装使用zookeeper

  1.下载window版zookeeper ,下载地址为:http://apache.fayea.com/zookeeper

  2.解压好了之后,进入conf文件夹,会发现有2个文件,log4j.properties和zoo_sample.cfg这2个文件。对于zoo_sample.cfg文件,需要先将文件名字修改成zoo.cfg文件才行,接下来修改里面配置,如下所示,给出了注释和简单的配置信息。

  3.修改配置保存文件

 1 # ZK中的一个时间单元。ZK中所有时间都是以这个时间单元为基础,进行整数倍配置的。例如,session的最小超时时间是2*tickTime。
 2 tickTime=2000
 3 
 4 # Follower在启动过程中,会从Leader同步所有最新数据,然后确定自己能够对外服务的起始状态。Leader允许F在 initLimit 时间内完成这个工作。
 5 initLimit=10
 6 
 7 # 在运行过程中,Leader负责与ZK集群中所有机器进行通信,例如通过一些心跳检测机制,来检测机器的存活状态。
 8 syncLimit=5
 9 
10 # 存储快照文件snapshot的目录。默认情况下,事务日志也会存储在这里。建议同时配置参数dataLogDir, 事务日志的写性能直接影响zk性能。
11 dataDir=D:/Program Service Files/zookeeper-3.5.0-alpha/data
12 
13 # 事务日志输出目录。尽量给事务日志的输出配置单独的磁盘或是挂载点,这将极大的提升ZK性能。 
14 dataLogDir=D:/Program Service Files/zookeeper-3.5.0-alpha/dataLog
15 
16 # 客户端连接server的端口,即对外服务端口,一般设置为2181吧。
17 clientPort=2181
18 
19 # 单个客户端与单台服务器之间的连接数的限制,是ip级别的,默认是60,如果设置为0,那么表明不作任何限制。
20 #maxClientCnxns=60
21 
22 #
23 # Be sure to read the maintenance section of the 
24 # administrator guide before turning on autopurge.
25 #
26 # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
27 #
28 # The number of snapshots to retain in dataDir
29 #autopurge.snapRetainCount=3
30 # Purge task interval in hours
31 # Set to "0" to disable auto purge feature
32 #autopurge.purgeInterval=1

  4.参数说明:

    tickTime:基本事件单元,以毫秒为单位,用来控制心跳和超时,默认情况超时的时间为两倍的tickTime tickTime:基本事件单元,以毫秒为单位,用来控制心跳和超时,默认情况超时的时间为两倍的tickTime

    dataDir:数据目录.可以是任意目录.

    dataLogDir:log目录, 同样可以是任意目录. 如果没有设置该参数, 将使用和dataDir相同的设置.

    clientPort:监听client连接的端口号.

    maxClientCnxns:限制连接到zookeeper的客户端数量,并且限制并发连接数量,它通过ip区分不同的客户端。

    minSessionTimeout和maxSessionTimeout:最小会话超时时间和最大的会话超时时间,在默认情况下,最小的超时时间为2倍的tickTime时间,最大的会话超时时间为20倍的会话超时时间,系统启动时会显示相应的信息。默认为-1

    initLimit:参数设定了允许所有跟随者与领导者进行连接并同步的时间,如果在设定的时间段内,半数以上的跟随者未能完成同步,领导者便会宣布放弃领导地位,进行另一次的领导选举。如果zk集群环境数量确实很大,同步数据的时间会变长,因此这种情况下可以适当调大该参数。默认为10

    syncLimit:参数设定了允许一个跟随者与一个领导者进行同步的时间,如果在设定的时间段内,跟随者未完成同步,它将会被集群丢弃。所有关联到这个跟随者的客户端将连接到另外一个跟随着。

  5、配置完成之后,就可以进入bin目录下,启动zkService.cmd了,当页面滚动时,证明启动成功了。 配置完成之后,就可以进入bin目录下,启动zkService.cmd了,当页面滚动时,证明启动成功了。 配置完成之后,就可以进入bin目录下,启动zkService.cmd了,当页面滚动时,证明启动成功了。 配置完成之后,就可以进入bin目录下,启动zkService.cmd了,当页面滚动时,证明启动成功了。但是,我们会经常遇到双击启动时,一闪而过的场景,此时会什么错误信息都看不到,最好的方式就是采取cmd启动,这样能看到报错信息。在此文件夹打开cmd执行如下命令,就会看到报错信息了。

 

二、整合elastic-job

  1.在idea下新建一个springboot项目,pom.xml文件如下配置

  

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 4     <modelVersion>4.0.0</modelVersion>
 5 
 6     <groupId>com.yto</groupId>
 7     <artifactId>springboot-el-job</artifactId>
 8     <version>0.0.1-SNAPSHOT</version>
 9     <packaging>jar</packaging>
10 
11     <name>springboot-el-job</name>
12     <description>Demo project for Spring Boot</description>
13 
14     <parent>
15         <groupId>org.springframework.boot</groupId>
16         <artifactId>spring-boot-starter-parent</artifactId>
17         <version>2.1.1.RELEASE</version>
18         <relativePath/> <!-- lookup parent from repository -->
19     </parent>
20 
21     <properties>
22         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
23         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
24         <java.version>1.8</java.version>
25     </properties>
26 
27     <dependencies>
28         <dependency>
29             <groupId>org.springframework.boot</groupId>
30             <artifactId>spring-boot-starter-web</artifactId>
31         </dependency>
32 
33         <dependency>
34             <groupId>org.springframework.boot</groupId>
35             <artifactId>spring-boot-starter-test</artifactId>
36             <scope>test</scope>
37         </dependency>
38 
39 
40         <dependency>
41             <groupId>com.dangdang</groupId>
42             <artifactId>elastic-job-lite-core</artifactId>
43             <version>2.1.5</version>
44         </dependency>
45         <!-- elastic-job-lite-spring -->
46         <dependency>
47             <groupId>com.dangdang</groupId>
48             <artifactId>elastic-job-lite-spring</artifactId>
49             <version>2.1.5</version>
50         </dependency>
51     </dependencies>
52 
53     <build>
54         <plugins>
55             <plugin>
56                 <groupId>org.springframework.boot</groupId>
57                 <artifactId>spring-boot-maven-plugin</artifactId>
58             </plugin>
59         </plugins>
60     </build>
61 
62 
63 </project>

 

 


  

   

 

 

 

参考文档:

  https://blog.csdn.net/weixin_40880305/article/details/84839659

  https://blog.csdn.net/weixin_40880305/article/details/84840825

 

posted @ 2020-10-15 17:18  stt101517  阅读(418)  评论(0编辑  收藏  举报