`

LTS:简单使用

    博客分类:
  • LTS
LTS 
阅读更多
1.启动JobTracker。./jobtracker.sh zoo start
2.启动LTS-Admin。sh lts-admin.sh start
3.实用后台添加jobclient
   在节点组管理中---添加节点---节点类型(JOB_CLIENT)
4.添加任务
   提交节点组 选择3中配置的jobclient节点
   执行节点组 选择 自定义的 tasktracker 组
5.保存
6.此时会根据配置的[任务类型]调用自定义的tasktracker
代码如下:
====================================
pom.xml:
====================================
<!-- Spring Boot 启动父依赖 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.1.RELEASE</version>
    </parent>

    <properties>
        <jedis.version>2.7.3</jedis.version>
        <fastjson.version>1.2.7</fastjson.version>
        <leveldbjni.version>1.8</leveldbjni.version>
        <curator.version>2.9.1</curator.version>
        <zkclient.version>0.1</zkclient.version>
        <zk.version>3.4.5</zk.version>
        <mongo.driver.version>3.0.2</mongo.driver.version>
        <morphia.version>1.0.0-rc1</morphia.version>
        <junit.version>4.11</junit.version>
        <netty.version>4.0.20.Final</netty.version>
        <slf4j.version>1.7.5</slf4j.version>
        <log4j.version>1.2.16</log4j.version>
        <dbutils.version>1.6</dbutils.version>
        <druid.version>1.0.14</druid.version>
        <mysql.version>5.1.26</mysql.version>
        <sleepycat.version>5.0.73</sleepycat.version>
        <rocksdbjni.version>3.10.1</rocksdbjni.version>
        <h2.version>1.4.189</h2.version>
        <springframework.version>4.2.5.RELEASE</springframework.version>
        <mina.version>2.0.9</mina.version>
        <hessian.version>4.0.38</hessian.version>
        <mapdb.version>2.0-beta10</mapdb.version>
        <groovy.version>2.4.5</groovy.version>
        <!--<jackson.version>2.6.3</jackson.version>-->
        <aspectj.version>1.7.2</aspectj.version>
        <javax.mail.version>1.5.4</javax.mail.version>
        <spring.boot.version>1.3.3.RELEASE</spring.boot.version>
        <lts.version>1.7.0</lts.version>
        <quartz.version>2.2.2</quartz.version>
        <javassist.version>3.20.0-GA</javassist.version>
    </properties>

    <dependencies>

        <!-- Spring Boot Web 依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- Spring Boot TestJobClient 依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <!-- Junit -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>

        <dependency>
            <groupId>com.github.ltsopensource</groupId>
            <artifactId>lts-core</artifactId>
            <version>${lts.version}</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>${log4j.version}</version>
        </dependency>
        <dependency>
            <groupId>com.github.sgroschupf</groupId>
            <artifactId>zkclient</artifactId>
            <version>${zkclient.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-recipes</artifactId>
            <version>${curator.version}</version>
        </dependency>
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>${jedis.version}</version>
        </dependency>
        <dependency>
            <groupId>com.sleepycat</groupId>
            <artifactId>je</artifactId>
            <version>${sleepycat.version}</version>
        </dependency>
        <dependency>
            <groupId>org.rocksdb</groupId>
            <artifactId>rocksdbjni</artifactId>
            <version>${rocksdbjni.version}</version>
        </dependency>
        <dependency>
            <groupId>org.fusesource.leveldbjni</groupId>
            <artifactId>leveldbjni-all</artifactId>
            <version>${leveldbjni.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>${springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>${springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.mina</groupId>
            <artifactId>mina-core</artifactId>
            <version>${mina.version}</version>
        </dependency>
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
            <version>${netty.version}</version>
        </dependency>
        <dependency>
            <groupId>com.caucho</groupId>
            <artifactId>hessian</artifactId>
            <version>${hessian.version}</version>
        </dependency>
        <dependency>
            <groupId>org.mapdb</groupId>
            <artifactId>mapdb</artifactId>
            <version>${mapdb.version}</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>${fastjson.version}</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>${jackson.version}</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>${jackson.version}</version>
        </dependency>
        <dependency>
            <groupId>org.mongodb.morphia</groupId>
            <artifactId>morphia</artifactId>
            <version>${morphia.version}</version>
        </dependency>
        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongo-java-driver</artifactId>
            <version>${mongo.driver.version}</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql.version}</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>${druid.version}</version>
        </dependency>
        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
            <version>${quartz.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot</artifactId>
            <version>${spring.boot.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-autoconfigure</artifactId>
            <version>${spring.boot.version}</version>
        </dependency>
        <dependency>
            <groupId>org.javassist</groupId>
            <artifactId>javassist</artifactId>
            <version>${javassist.version}</version>
        </dependency>

        <dependency>
            <groupId>com.github.ltsopensource</groupId>
            <artifactId>lts-tasktracker</artifactId>
            <version>1.7.0</version>
        </dependency>
        <dependency>
            <groupId>com.github.ltsopensource</groupId>
            <artifactId>lts-jobclient</artifactId>
            <version>1.7.0</version>
        </dependency>

    </dependencies>
====================================
java代码:
====================================
public class TestTaskTracker {

    public static void main(String[] args) {
        TaskTracker taskTracker = new TaskTracker();
        taskTracker.setJobRunnerClass(MyJobRunner.class);
        taskTracker.setRegistryAddress("zookeeper://127.0.0.1:2181");
        taskTracker.setNodeGroup("test_tracker_group111");
        taskTracker.setClusterName("test_cluster");
        taskTracker.setWorkThreads(20);
        taskTracker.start();
    }
}

public class MyJobRunner implements JobRunner {
    @Override
    public Result run(JobContext jobContext) throws Throwable {
        try {
            // TODO 业务逻辑
            // 会发送到 LTS (JobTracker上)
            jobContext.getBizLogger().info("测试,业务日志啊啊啊啊啊");

        } catch (Exception e) {
            return new Result(Action.EXECUTE_FAILED, e.getMessage());
        }
        return new Result(Action.EXECUTE_SUCCESS, "执行成功了,哈哈");
    }
}

分享到:
评论

相关推荐

    lts消息分布式源码

    Light Task Scheduler(LTS)是基于Java开发的一个轻量级任务调度框架,它提供了一种简单的方式来定义、提交和执行任务。LTS的核心特性包括: 1. 分布式:LTS支持分布式部署,可以将任务分散到多台服务器上,提高...

    LTS分布式任务调度

    LTS在云计算环境中广泛使用,尤其适用于需要高效、稳定地执行大量异步任务的应用场景。其核心目标是提供一种简单、易用且可扩展的任务调度解决方案。 **LTS架构** LTS由几个关键组件构成,包括任务提交客户端...

    lts admin管理war

    标题中的“lts admin管理war”指的是使用LTS的管理界面来管理任务调度。这个管理界面通常是以WAR(Web Application Archive)文件的形式部署在Java应用服务器上,例如Tomcat,它提供了Web UI供用户进行任务操作。 ...

    lts-admin分布式作业调度

    LTS的部署相对简单,用户可以通过下载源码或二进制包进行安装。在配置文件中指定数据库连接、Master-Slave节点等信息,然后启动服务。LTS-Admin通过Web界面提供图形化操作,方便用户创建、修改和管理任务。 **5. ...

    Setting-Up-Lucee-CommandBox-Apache2-Ubuntu20.04LTS:关于在Ubuntu 20.04LTS上使用CommandBox作为服务运行Lucee的简单分步指南

    设置Lucee-CommandBox-Apache2-Ubuntu20.04 LTS 一个简单的分步指南,说明如何从装有Windows 10的远程计算机上,通过AJP在Apache2和AJP之后安装带有CommandBox的Lucee。前两个步骤与我在添加到的前两个视频相同。 该...

    Ubuntu参考手册14.04 LTS第二版.rar

    1. **Getting Started with Ubuntu 14.04 - Second edition.pdf**:这是主要的学习资料,详细介绍了如何开始使用Ubuntu 14.04 LTS系统。这份PDF手册可能涵盖了安装过程、桌面环境、基本操作、软件管理、系统设置、...

    华宝证券LTS程序化交易接口-COM组件编程-C#代码实例

    - 实例化组件:使用`Activator.CreateInstance`方法创建COM组件的实例。 - 调用组件方法:通过接口调用组件提供的方法,如订阅行情、执行交易等。 2. **C#与COM交互** - 理解类型库:COM组件通过类型库(TLB)...

    精通Django.Django 1.8 LTS全解.pdf

    《精通Django:Django ...通过《精通Django:Django 1.8 LTS全解》这本书,读者将能够深入理解Django框架的各个方面,从基础到高级,从开发到部署,全面掌握Django 1.8的使用,为构建高质量的Web应用程序打下坚实基础。

    5.1.27 LTS

    Composer支持使得依赖管理变得简单,而IDE友好性的增强则提升了开发体验。此外,社区活跃,问题解答及时,开发者可以在遇到问题时得到及时的帮助。 总的来说,ThinkPHP 5.1.27 LTS是一款集稳定、高效、安全于一身的...

    搬砖:WordPress主题begin-LTS主题最新版本资源下载

    对于使用"Begin-LTS"主题的WordPress用户,理解这些文件的作用并学会适当修改,能极大地提升网站的用户体验和功能性。同时,搭配Woocommerce插件,Begin-LTS还可以轻松实现电子商务功能,让自建站不仅能展示内容,还...

    lts分布式任务调度系统

    LTS的核心功能包括任务的提交、执行、监控以及异常处理,为开发者提供了一种简单且强大的方式来管理他们的后台任务。 在“后台管理”部分,LTS提供了用户友好的Web界面,用于任务的配置、调度、监控和管理。管理员...

    ltsnode:节点lts版本查看工具

    在Node.js的生态系统中,LTS版本通常被认为是最稳定、最适合生产环境使用的版本,因为它们会得到更长时间的安全更新和支持。 使用`ltsnode`,用户可以方便地获取最新的LTS版本号,从而确保他们的项目始终基于可靠的...

    unbuntu 10.04 LTS上配置简单双机热备方案

    ### Ubuntu 10.04 LTS 上配置简单双机热备方案 #### 一、概述 在高可用性要求的应用场景中,双机热备方案是保障服务连续性的常用技术手段之一。通过本文档,您将了解到如何在 Ubuntu 10.04 LTS 系统上构建一个基于...

    Abaqus18_on_Ubuntu18.04LTS.pdf

    之后,就可以通过简单的命令运行Abaqus CAE模块。 在运行Abaqus CAE之前,如果在命令行提示需要重新配置系统以允许OpenGL渲染到pixamp或Pbuffer,用户应该使用相应的命令来避免在GUI执行期间出现透明度问题。 整个...

    java lts.rar

    这个名为"java lts.rar"的压缩包文件很可能包含了一个基于Java LTS版本开发的简单聊天室项目,旨在帮助初学者学习Java Web开发。聊天室项目通常涉及以下几个关键技术点: 1. **Java Servlet**:Java Servlet是Java ...

    vagrant-php7:在Ubuntu 16.04 LTS上运行PHP 7.1的简单Vagrant LAMP设置

    流浪者PHP7 在Ubuntu 16.04 LTS上运行PHP 7.1的简单Vagrant LAMP设置。里面有什么? Ubuntu 16.04 LTS(Xenial Xerus) Vim,Git,Curl等阿帕奇PHP 7.1和一些扩展MySQL 5.7 带有NPM的Node.js 8 兔子MQ 雷迪斯作曲家...

    ubuntu 10.04LTS正式版DVD版ISO镜像32位64位种子

    综上所述,Ubuntu 10.04 LTS是一个兼顾稳定性和前瞻性的操作系统,其长期技术支持保证了用户在较长时间内的安心使用。如果你下载的是"ubuntu10.04"这个压缩包,那么里面应该包含的是Ubuntu 10.04的安装镜像,通过这...

    使用Ubuntu 22.04.2 LTS编写shell脚本(上)

    总的来说,Ubuntu 22.04.2 LTS中的Shell脚本提供了一种强大且灵活的方法来自动化各种系统任务,无论是简单的文件操作还是复杂的流程控制,都可以通过编写脚本来实现。熟练掌握Shell脚本编写不仅可以节省时间,还能...

    nx-frontends:使用Nx的多个前端应用程序示例(Monorepos的可扩展开发工具)

    使用react创建2个简单的前端应用程序,其中有一个共享资产库和两个应用程序使用的共享ui组件库 掌握如何定义和使用 CI / CD管道作为代码( ) 集成gatsby支持并确定如何使用它 使用故事书支持并将其集成到Azure管道...

Global site tag (gtag.js) - Google Analytics