打包部署
目前已经上传到了maven中央仓库了,可以不用手动编译了(下面的可以忽略) http://search.maven.org/#search%7Cga%7C1%7Ccom.github.ltsopensource
1. 你的项目也是Maven构建
如果你的项目是 maven 构建的话,需要将上面这些工程的 jar 包上传到你们自己的 maven 服务器上。然后再引入相应的 jar 即可。上传的话,可以直接在工程的
pom.xml
文件中添加 distributionManagement 即可。譬如
<distributionManagement> <repository> <id>nexus-releases</id> <name>Your Nexus Release Repository</name> <url>http://maven.xxxxxx.com/nexus/content/repositories/releases/</url> </repository> <snapshotRepository> <id>nexus-snapshots</id> <name>Your Nexus Snapshot Repository</name> <url>http://maven.xxxxxx.com/nexus/content/repositories/snapshots/</url> </snapshotRepository> </distributionManagement>
2. Jar方式
如果你是直接使用 jar 包的方式,那么你先需要安装 maven,然后通过 maven 来编 译整个工程,然后将编译出来的 jar 包引入即可。在
light-task-scheduler
根路径执行mvn clean install -U -DskipTests
3. 构建脚本启动的bin包
提供(cmd)windows
和(shell)linux
两种版本脚本来进行编译和部署:
运行根目录下的
sh build.sh
或build.cmd
脚本,会在dist
目录下生成lts-{version}-bin
文件夹下面是其目录结构,其中bin目录主要是JobTracker和LTS-Admin的启动脚本。
jobtracker
中是 JobTracker的配置文件和需要使用到的jar包,lts-admin
是LTS-Admin相关的war包和配置文件。 lts-{version}-bin的文件结构
-- lts-${version}-bin
|-- bin
| |-- jobtracker.cmd
| |-- jobtracker.sh
| |-- lts-admin.cmd
| |-- lts-admin.sh
| |-- lts-monitor.cmd
| |-- lts-monitor.sh
| |-- tasktracker.sh
|-- conf
| |-- log4j.properties
| |-- lts-admin.cfg
| |-- lts-monitor.cfg
| |-- readme.txt
| |-- tasktracker.cfg
| |-- zoo
| |-- jobtracker.cfg
| |-- log4j.properties
| |-- lts-monitor.cfg
|-- lib
| |-- *.jar
|-- war
|-- jetty
| |-- lib
| |-- *.jar
|-- lts-admin.war
- JobTracker启动。如果你想启动一个节点,直接修改下
conf/zoo
下的配置文件,然后运行sh jobtracker.sh zoo start
即可,如果你想启动两个JobTracker节点,那么你需要拷贝一份zoo,譬如命名为zoo2
,修改下zoo2
下的配置文件,然后运行sh jobtracker.sh zoo2 start
即可。logs文件夹下生成jobtracker-zoo.out
日志。 - LTS-Admin启动.修改
conf/lts-monitor.cfg
和conf/lts-admin.cfg
下的配置,然后运行bin
下的sh lts-admin.sh
或lts-admin.cmd
脚本即可。logs文件夹下会生成lts-admin.out
日志,启动成功在日志中会打印出访问地址,用户可以通过这个访问地址访问了。
4. 部署建议
Admin后台: 建议Admin后台单独部署,默认会嵌入一个Monitor
Monitor:默认在Admin后台进程中有一个,如果一个不够,也可以单独启动多个
JobTracker: 建议单独部署
JobClient:,这个是提交任务的工程,一般是和业务相关的,所以会放在业 务工程中, 当然也要看业务场景
TaskTracker,这个因为是跑任务的,具体看业务场景, 一般情况下也可以是独立部署