DataX及DataX-Web部署
lj907722644 2024-08-18 09:33:03 阅读 88
DataX及DataX Web部署
相关链接:
DataX:https://github.com/alibaba/DataXDataX文档:https://github.com/alibaba/DataX/blob/master/userGuid.mdDataX Web:https://github.com/WeiYe-Jing/datax-webDataX Web文档:https://github.com/WeiYe-Jing/datax-web/blob/master/doc/datax-web/datax-web-deploy.md
1. 部署DataX
部署需求:
Linux
JDK(1.8以上,推荐1.8)
Python(2或3都可以)
Apache Maven 3.x (Compile DataX)
下载DataX工具包:DataX下载地址
将下载到的DataX上传到服务器,解压后,进入bin目录,即可运行同步作业:
<code># 我将DataX上传到服务器的 /data/module 目录
cd /data/module
tar -zxvf datax.tar.gz
# 运行自检脚本测试
python /data/module/datax/bin/datax.py /data/module/datax/job/job.json
修改core.json文件
后期在执行同步作业时,会报错bps限速问题,需要修改core.json配置文件。
com.alibaba.datax.common.exception.DataXException: Code:[Framework-03], Description:[DataX引擎配置错误,该问题通常是由于DataX安装错误引起,请联系您的运维解决 .]. - 在有总bps限速条件下,单个channel的bps值不能为空,也不能为非正数
at com.alibaba.datax.common.exception.DataXException.asDataXException(DataXException.java:30) ~[datax-common-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.core.job.JobContainer.adjustChannelNumber(JobContainer.java:430) ~[datax-core-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.core.job.JobContainer.split(JobContainer.java:387) ~[datax-core-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:117) ~[datax-core-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.core.Engine.start(Engine.java:86) [datax-core-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.core.Engine.entry(Engine.java:168) [datax-core-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.core.Engine.main(Engine.java:201) [datax-core-0.0.1-SNAPSHOT.jar:na]
解决方案:
vim /data/module/datax/conf/core.json
# core -> transport -> channel -> speed -> byte 默认为-1,修改为正数,例如2000000
"core": {
"dataXServer": {
"address": "http://localhost:7001/api",
"timeout": 10000,
"reportDataxLog": false,
"reportPerfLog": false
},
"transport": {
"channel": {
"class": "com.alibaba.datax.core.transport.channel.memory.MemoryChannel",
"speed": {
"byte": 2000000,
"record": -1
},
"flowControlInterval": 20,
"capacity": 512,
"byteCapacity": 67108864
},
"exchanger": {
"class": "com.alibaba.datax.core.plugin.BufferedRecordExchanger",
"bufferSize": 32
}
},
2. 部署DataX Web
部署需求:
MySQL (5.5+) 必选,对应客户端可以选装, Linux服务上若安装mysql的客户端可以通过部署脚本快速初始化数据库JDK (1.8.0_xxx) 必选DataX 必选Python (2.x) (支持Python3需要修改替换datax/bin下面的三个python文件,替换文件在doc/datax-web/datax-python3下)
必选,主要用于调度执行底层DataX的启动脚本,默认的方式是以Java子进程方式执行DataX,用户可以选择以Python方式来做自定义的改造
下载DataX Web安装包:点击下载 提取码:cpsk
将安装包上传到服务器并解压
# 我将安装包上传到服务器的 /data/module 目录
cd /data/module
tar -zxvf datax-web-2.1.2.tar.gz
# 执行一键安装脚本
cd /data/module/datax-web-2.1.2/bin
./install.sh
执行安装脚本时,一路选择y,直到初始化数据库时,配置mysql连接
2024-06-25 16:43:28.466 [INFO] (2766132) Scan out mysql command, so begin to initalize the database
Do you want to initalize database with sql: [/data/module/datax-web-2.1.2/bin/db/datax_web.sql]? (Y/N)y
Please input the db host(default: 127.0.0.1):
Please input the db port(default: 3306):
Please input the db username(default: root):
Please input the db password(default: ):
Please input the db name(default: dataxweb)
如果服务上并没有安装mysql命令,则可以取用目录下/bin/db/datax-web.sql脚本去手动执行,完成后修改相关配置文件:
vim ./modules/datax-admin/conf/bootstrap.properties
#Database
#DB_HOST=
#DB_PORT=
#DB_USERNAME=
#DB_PASSWORD=
#DB_DATABASE=
一键启动所有服务
cd /data/module/datax-web-2.1.2/bin
./start-all.sh
在Linux环境下使用JPS命令,查看是否出现DataXAdminApplication和DataXExecutorApplication进程,如果存在这表示项目运行成功.
如果项目启动失败,请检查启动日志:modules/datax-admin/bin/console.out或者modules/datax-executor/bin/console.out
如果需要修改端口。在/modules/datax-admin/bin/env.properties和/modules/datax-executor/bin/env.properties中修改
web 访问测试:
http://ip:9527/index.html
用户名:admin,密码:123456
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。