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



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。