• 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

    kafka rabbitMq
  • 相关阅读:
    iOS9--适配系列教程(原文/译文)
    电梯调度设计思路及算法
    10大高频率单词筛选
    html知识点总结
    关于博客
    Java构造器内部的多态方法
    Java初学者必学的六大Java语言要点
    Java中的length字段和length()方法
    Java学习有方法有捷径
    Java 分隔符函数split的使用注意事项
  • 原文地址:https://www.cnblogs.com/stt101517/p/13821743.html
Copyright © 2020-2023  润新知