参数说明

基本参数

参数 是否必须 默认值 使用范围 设置方式 参数说明
registryAddress 必须 JobClient,JobTracker,TaskTracker setRegistryAddress("xxxx") 注册中心,可以选用zk或者redis,参考值: zookeeper://127.0.0.1:2181 或 redis://127.0.0.1:6379
clusterName 必须 JobClient,JobTracker,TaskTracker setClusterName("xxxx") 集群名称,clusterName相同的所有节点才会组成整个LTS架构
listenPort 必须 35001 JobTracker setListenPort(xxx) JobTracker的远程监听端口
dataPath 可选 user.home JobClient,TaskTracker,JobTracker setDataPath("xxxx") FailStore文件存储路径及其它数据存储路径
bindIp 可选 本机ip JobClient,TaskTracker,JobTracker setBindIp("xxxx") 服务启动的本机ip
nodeGroup 可选 JobClient,TaskTracker setNodeGroup("xxxx") 节点组名称
workThreads 可选 64 TaskTracker setWorkThreads("xxxx") 工作线程数
jobRunnerClass 可选 TaskTracker setJobRunnerClass("xxxx") JobRunner接口

扩展参数

扩展参数全部是在configs下面, 有以下几种使用方式

  1. 硬编码方式,jobClient.addConfig("key", "value");
  2. spring配置方式:
    <property name="configs">
     <props>
         <prop key="key">value</prop>
     </props>
    </property>
    
  3. springboot或LTS自带的properties模式
    ## 譬如
    lts.tasktracker.configs.job.fail.store=mapdb
    
参数列表
参数 默认值 使用范围 参数说明
lts.job.processor.thread 32 + AVAILABLE_PROCESSOR * 5 JobClient,JobTracker,TaskTracker 远程通讯请求处理线程数量,一般不建议自己设置
java.compiler javassist JobClient,JobTracker,TaskTracker Java 编译器, 可选值 jdk, javassist
lts.remoting.serializable.default fastjson JobClient,TaskTracker,JobTracker 底层通讯默认序列化方式,可选值 fastjson, hessian2 ,java,底层会自动识别你请求的序列化方式,然后返回数据也是采用与请求的序列化方式返回,假设JobTracker设置的是fastjson,而JobClient是hessian2,那么JobClient提交任务的时候,序列化方式是hessian2,当JobTracker收到请求的时候采用hessian2解码,然后也会将响应数据采用hessian2编码返回给JobClient
lts.remoting netty JobClient,TaskTracker,JobTracker 底层通讯框架,可选值netty和mina,可以混用,譬如JobTracker是netty, JobClient采用mina
job.fail.store leveldb JobClient,TaskTracker值:leveldb(默认), rocksdb, berkeleydb, mapdb FailStore实现, leveldb有问题的同学,可以试试mapdb
jdbc.datasource.provider mysql JobTracker JDBC提供者, 默认mysql(目前只有mysql实现, 所以不用设置)
zk.client zkclient JobClient,JobTracker,TaskTracker zookeeper客户端,可选值zkclient, curator
job.logger mysql JobTracker LTS业务日志记录器,可选值console,mysql,mongo,或者自己实现SPI扩展
lts.logger slf4j JobClient,JobTracker,TaskTracker LTS的logger,可选值 slf4j, jcl, log4j, jdk 默认加载顺序 slf4j > jcl > log4j > jdk,或者自己实现SPI扩展
lts.json fastjson JobClient,JobTracker,TaskTracker LTS 内部使用的json, 默认fastjson, 可选值fastjson,jackson,或者自己实现SPI扩展
job.queue mongo JobTracker LTS任务队列,可选值mongo,mysql,或者自己实现SPI扩展
jdbc.url JobTracker mysql连接URL,当job.queue为mysql的时候起作用
jdbc.username JobTracker mysql连接密码,当job.queue为mysql的时候起作用
jdbc.password JobTracker mysql连接密码,当job.queue为mysql的时候起作用
mongo.addresses JobTracker mongo连接URL,当job.queue为mongo的时候起作用
mongo.database JobTracker mongo数据库名,当job.queue为mongo的时候起作用
mongo.username JobTracker mongo数据库用户名,当job.queue为mongo的时候起作用
mongo.password JobTracker mongo数据库密码,当job.queue为mongo的时候起作用
lts.http.cmd.port JobTracker,JobClient,TaskTracker,Monitor Http Cmd 端口, 在每有防火墙的时候,默认会寻找可用端口,可以不用设置
tasktracker.stop.working.enable false TaskTracker 主要用于当TaskTracker与JobTracker出现网络隔离的时候,超过一定时间隔离之后,TaskTracker自动停止当前正在运行的任务
lts.monitor.report.interval 1 JobClient,TaskTracker,JobTracker 分钟,整数,建议1-5分钟
job.preloader.size 300 JobTracker 最大 Job preload 的 size , 默认 300
job.preloader.factor 0.2 JobTracker Job preload 的 阀值 默认 0.2 (20%)
job.submit.maxQPS 500 JobClient 提交并发请求size, 默认500
job.submit.lock.acquire.timeout 100 JobClient 提交任务获取 lock的 timeout (毫秒)
jobtracker.job.retry.interval.millis 30 JobTracker 全局任务重试时间间隔, 默认 30s
job.max.retry.times 10 JobTracker 设置全局任务最多重试次数, 默认10次
remoting.req.limit.enable false JobTracker 是否开启远程请求最大QPS限流
remoting.req.limit.maxQPS 5000 JobTracker 远程请求最大QPS限流
remoting.req.limit.acquire.timeout 50 JobTracker 远程请求的lock获取 timeout, 默认 50毫秒 (不建议自己设置)
jobtracker.executing.job.fix.check.interval.seconds 30 JobTracker 正在执行任务队列中死任务的检查频率(不建议自己设置)
jobtracker.executing.job.fix.deadline.seconds 20 JobTracker 正在执行任务修复死任务检查的时间限制(不建议自己设置)
job.pull.frequency 1 TaskTracker Pull 任务频率(秒) , 默认 1s(不建议自己设置),针对不同的场景可以做相应的调整,单位秒
lb.machine.res.check.enable false TaskTracker 是否启用TaskTracker端的负载均衡, 默认关闭
lb.memoryUsedRate.max 0.9 TaskTracker 负载均衡, 最大内存使用率,超过该使用率,停止pull任务, 默认 0.9(90%)
lb.cpuUsedRate.max 0.9 TaskTracker 负载均衡, 最大cpu使用率,超过该使用率,停止pull任务, 默认 0.9 (90%)
monitor.select.loadbalance random JobClient,JobTracker,TaskTracker 各个节点选择连接Monitor的负载均衡算法
jobtracker.select.loadbalance random JobClient,TaskTracker 选择JobTracker的负载均衡算法
jobclient.select.loadbalance random JobTracker 选择jobClient的负载均衡算法

results matching ""

    No results matching ""