elastic-job搭建

1. 安裝zookeeper

下載zookeeper

## 1.1 下載zookeeper
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5-bin.tar.gz

# 解壓文件
tar -zxvf apache-zookeeper-3.5.5-bin.tar.gz

1.2 配置zookeetper

mv apache-zookeeper-3.5.5-bin zookeeper
mkdir /opt/zookeeper/{dataDir,dataLogDir}
cd /opt/zookeeper/conf/
cp zoo_sample.cfg zoo.cfg 
image.png

配置完成保存并退出

1.3 啟動(dòng)zookeeper

#啟動(dòng)命令:
./bin/zkServer.sh start
#在前端啟動(dòng),可看啟動(dòng)日志
./bin/zkServer.sh start-foreground
#停止命令:
./bin/zkServer.sh stop  

#重啟命令:
./bin/zkServer.sh restart

#狀態(tài)查看命令:
./bin/zkServer.sh status

2. 運(yùn)行elastic-job的UI包

2.1 下載包

# 下載UI包
wget https://dlcdn.apache.org/shardingsphere/elasticjob-ui-3.0.1/apache-shardingsphere-elasticjob-3.0.1-lite-ui-bin.tar.gz

#解壓包
tar -zxvf apache-shardingsphere-elasticjob-3.0.1-lite-ui-bin.tar.gz

運(yùn)行后,訪問(wèn)地址:http://192.168.31.128:8088/#/login ,默認(rèn)賬號(hào)密碼都是root

image.png

2.2 配置注冊(cè)中心

image.png

image.png

2.3 修改任務(wù)觸發(fā)規(guī)則

image.png

3. 項(xiàng)目中接入elasticjob

3.1 在項(xiàng)目中的pom引入依賴:

        <dependency>
            <groupId>org.apache.shardingsphere.elasticjob</groupId>
            <artifactId>elasticjob-lite-spring-boot-starter</artifactId>
            <version>3.0.0</version>
        </dependency>

        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-recipes</artifactId>
            <version>5.1.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-framework</artifactId>
            <version>5.1.0</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
            <!-- 自行修改相應(yīng)版本-->
            <version>3.0.2</version>
        </dependency>

3.2 配置文件增加elasticjob配置

elasticjob:
  regCenter:
    serverLists: 192.168.31.128:2181
    namespace: spring-cloud-alibaba-job
    baseSleepTimeMilliseconds: 2000
    maxSleepTimeMilliseconds: 4000
    maxRetries: 3
  jobs:
    elasticMessageJob:
      elasticJobClass: com.joe.strawberry.job.component.ElasticMessageJob
      cron: 0/1 * * * * ?
      shardingTotalCount: 1
      overwrite: true
      failover: true

  tracing:
    type: RDB

3.3 增加任務(wù)

package com.joe.strawberry.job.component;


import lombok.extern.slf4j.Slf4j;
import org.apache.shardingsphere.elasticjob.api.ShardingContext;
import org.apache.shardingsphere.elasticjob.simple.job.SimpleJob;
import org.springframework.stereotype.Component;

@Component
@Slf4j
public class ElasticMessageJob implements SimpleJob {

    @Override
    public void execute(ShardingContext shardingContext) {
        log.info("#############");
        log.info("測(cè)試的定時(shí)任務(wù)執(zhí)行了");
    }
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容