主题
执行端部署说明
只是一个部署安装包,只需要部署即可。
获取软件安装包
请联系 QQ
535412000
或邮箱server@wueasy.com
进行咨询
环境变量配置说明
通过环境变量配置基础信息
WUEASY-ETL-EXEC-XXLJOB-ADMIN-ADDRESSES
:xxl-job连接地址,默认:http://127.0.0.1:9999/xxl-job-admin
WUEASY-ETL-EXEC-XXLJOB-ACCESSTOKEN
:xxl-job认证token,默认:default_token
WUEASY-ETL-EXEC-XXLJOB-EXECUTOR-APPNAME
:xxl-job执行器名称,默认:xxl-job-executor-sample
WUEASY-ETL-EXEC-XXLJOB-EXECUTOR-ADDRESS
:执行器地址WUEASY-ETL-EXEC-XXLJOB-EXECUTOR-IP
:执行器ipWUEASY-ETL-EXEC-XXLJOB-EXECUTOR-PORT
:执行器端口,默认:9998
WUEASY-ETL-EXEC-XXLJOB-EXECUTOR-LOGPATH
:日志路径,默认:./data/applogs/xxl-job/jobhandler
WUEASY-ETL-EXEC-XXLJOB-EXECUTOR-LOGRETENTIONDAYS
:日志最大保存时间,默认:30
WUEASY_ETL_JDBC_ROOTPATH
:数据库文件目录WUEASY_ETL_SCRIPT_ROOTPATH
:etl脚本文件目录
数据库连接配置
支持在本地配置数据库连接,可以通过环境变量配置数据库目录
WUEASY_ETL_JDBC_ROOTPATH
或者在执行目录创建文件夹datasource
目录中放入数据库连接配置
业务数据库配置
如下示例,配置数据库连接池信息。如文件名称为:test.properties
,文件名称就是数据库id
properties
driverClassName=com.mysql.cj.jdbc.Driver
jdbcUrl=jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai&useSSL=false&useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true&rewriteBatchedStatements=true
username=root
password=123456
#最小连接池数量
minimumIdle=5
#最大连接池数量
maximumPoolSize=10
# 测试连接
connectionTestQuery=SELECT 1
# 连接超时时间。默认值为30s
connectionTimeout=600000
# 连接池中连接的最大生命周期
maxLifetime=120000
#一个连接idle状态的最大时长(毫秒),超时则被释放(retired),缺省:10s
idleTimeout=30000
基础数据库配置
用于记录业务参数信息,必须要配置
properties
driverClassName=com.mysql.cj.jdbc.Driver
jdbcUrl=jdbc:mysql://localhost:3306/xxl-job?serverTimezone=Asia/Shanghai&useSSL=false&useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true&rewriteBatchedStatements=true
username=root
password=123456
#最小连接池数量
minimumIdle=5
#最大连接池数量
maximumPoolSize=10
# 测试连接
connectionTestQuery=SELECT 1
# 连接超时时间。默认值为30s
connectionTimeout=600000
# 连接池中连接的最大生命周期
maxLifetime=120000
#一个连接idle状态的最大时长(毫秒),超时则被释放(retired),缺省:10s
idleTimeout=30000
基础表结构
sql
CREATE TABLE `sys_etl_task` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`etl_id` varchar(64) NOT NULL COMMENT '任务id',
`etl_scene` varchar(64) NOT NULL COMMENT '任务场景',
`start_date` datetime DEFAULT NULL COMMENT '开始时间',
`end_date` datetime DEFAULT NULL COMMENT '结束时间',
`business_param` varchar(500) DEFAULT NULL COMMENT '业务参数',
`create_date` datetime DEFAULT NULL,
`update_date` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `etl_scene` (`etl_scene`,`etl_id`) USING BTREE,
KEY `etl_id` (`etl_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1;
脚本地址
把导出的xml任务放入目录中,可以通过环境变量配置数据库目录
WUEASY_ETL_SCRIPT_ROOTPATH
或者在执行目录创建文件夹script
默认会先去找环境变量,当环境变量不存在,会去找当前目录文件
linux启动/停止脚本
启动脚本
shell
#!/bin/bash
count=`ps -ef |grep etl_xxljob_exec|grep -v grep|wc -l`
if [ $count == 0 ];then
nohup ./etl_xxljob_exec > /dev/null 2>&1 &
echo -e "\033[32m 启动成功 \033[0m"
else
echo -e "\033[31m 运行中... \033[0m"
fi
停止脚本
shell
#!/bin/bash
boot_id=`ps -ef |grep etl_xxljob_exec|grep -v grep|awk '{print $2}'`
count=`ps -ef |grep etl_xxljob_exec|grep -v grep|wc -l`
if [ $count != 0 ];then
kill $boot_id
count=`ps -ef |grep etl_xxljob_exec|grep -v grep|wc -l`
boot_id=`ps -ef |grep etl_xxljob_exec|grep -v grep|awk '{print $2}'`
kill -9 $boot_id
echo -e "\033[34m 停止成功 \033[0m"
else
echo -e "\033[31m 未运行 \033[0m"
fi
检查运行状态脚本
shell
#!/bin/bash
count=`ps -ef |grep etl_xxljob_exec|grep -v grep|wc -l`
if [ $count != 0 ];then
echo -e "\033[32m 运行中... \033[0m"
else
echo -e "\033[31m 未运行 \033[0m"
fi
docker启动脚本
docker run -d --privileged -v /sbin/dmidecode:/sbin/dmidecode -v /dev/mem:/dev/mem -v ./license.dat:/srv/license.dat -v ./datasource:/srv/datasource -v ./script:/srv/script -p 8002:8080 镜像地址
配置说明
--privileged -v /sbin/dmidecode:/sbin/dmidecode -v /dev/mem:/dev/mem
:必须配置,为了获取主机系统信息-v ./license.dat:/srv/license.dat
:映射授权信息-v ./datasource:/srv/datasource -v ./script:/srv/script
:映射数据库配置和etl配置-e WUEASY-ETL-EXEC-XXLJOB-ACCESSTOKEN=123456
:设置镜像环境变量
xxl-job部署说明
调度依赖xxl-job,所以必须部署,部署参考
https://www.xuxueli.com/xxl-job/
调度配置
以下几个参数,必须按照此配置
运行模式
:选择BEAN
JobHandler
:输入EtlCommonJobHandler
任务参数
:- 示例:
-taskId=test4 -taskScene=demo -threadSize=2 -pageSize=10 -scriptPath=E:\\code\\fallsea\\code\\wueasy-cloud\\wueasy-etl-common\\src\\test\\resources\\script
-taskId
:执行的任务id,必输-taskScene
:执行的任务场景编号,必输-threadSize
:指定线程数量,默认10
-pageSize
:指定每页的查询数据大小,默认1000
-scriptPath
:指定ETL脚本文件目录,默认从环境变量中获取
- 示例: