Datax-web部署文档

Datax-web部署文档

Datax部署

1
2
# 参考官方文档
https://github.com/alibaba/DataX/blob/master/userGuid.md
1
2
# 下载datax已经封装好的文件,不推荐源码自己编译
https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202309/datax.tar.gz
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 检查python环境是否存在,python2.python3都可以
[root@test-200 ~]# python -V
Python 2.7.5

# 上传文件到/home然后去解压
[root@test-200 ~]# cd /home/
# 解压文件
[root@test-200 home]# tar xf datax.tar.gz
[root@test-200 home]# python /home/datax/bin/datax.py /home/datax/job/job.json
2025-03-12 16:43:04.945 [job-0] INFO JobContainer -
任务启动时刻                   : 2025-03-12 16:42:54
任务结束时刻                   : 2025-03-12 16:43:04
任务总计耗时                   :                 10s
任务平均流量                   :          253.91KB/s
记录写入速度                   :         10000rec/s
读出记录总数                   :              100000
读写失败总数                   :                   0

# 说明datax是可用的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 修改配置文件 
# 否则后面同步数据会出现在 有总bps限速条件下,单个channel的bps值不能为空,也不能为非正数的问题
[root@test-200 home]# vim /home/datax/conf/core.json

"com.alibaba.datax.core.transport.channel.memory.MemoryChannel",
               "speed": {
                   "byte": -1,
                   "record": -1
# 把"byte": -1 改为 "byte":3000000
# 修改后内容如下

"com.alibaba.datax.core.transport.channel.memory.MemoryChannel",
               "speed": {
                   "byte":3000000,
                   "record": -1

Datax-web部署

1
2
# 参考官方文档
https://github.com/WeiYe-Jing/datax-web/blob/master/doc/datax-web/datax-web-deploy.md
1
2
3
4
# 下载文件
# 作者封装好的程序,同样不推荐自己编译源码 因为也会报错
https://pan.baidu.com/s/13yoqhGpD00I82K4lOYtQhg 提取码:cpsk
# 同样上传到/home
1
2
3
4
5
[root@test-200 home]# tar xf datax-web-2.1.2.tar.gz
[root@test-200 home]# cd /home/datax-web-2.1.2/bin
[root@test-200 bin]# bash install.sh
# 输入4个y完成安装
# 我这里是本地没有安装mysql的,如果你安装了的mysql会调用直接退出即可使用配置文件配置

安装Mysql

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 推荐使用5.7版本的数据库,使用8.0会导致admin无法链接数据库暂时不知道什么原因
docker run -d --name mysql_datax -p 3306:3306 -v datax_web_mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_USER=datax -e MYSQL_PASSWORD=123456 -e MYSQL_DATABASE=datax_web --restart always mysql:5.7.44

[root@test-200 bin]# cd /home/datax-web-2.1.2/bin/db
# 拷贝sql文件到mysql容器中导入数据
[root@test-200 db]# docker cp datax_web.sql mysql_datax:/root
Successfully copied 21.5kB to mysql_datax:/root

# 导入数据
[root@test-200 bin]# docker exec -it mysql_datax bash
bash-4.2# mysql -udatax -p123456 datax_web < /root/datax_web.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
bash-4.2# exit
exit
1
2
3
4
5
6
7
8
9
# 配置数据库
[root@test-200 db]# cd /home/datax-web-2.1.2/modules/datax-admin/conf
[root@test-200 conf]# cat bootstrap.properties
#Database
DB_HOST=192.168.116.200
DB_PORT=3306
DB_USERNAME=datax
DB_PASSWORD=123456
DB_DATABASE=datax_web
1
2
# 配置调用datax文件
[root@test-200 bin]# sed -i s#PYTHON_PATH=#PYTHON_PATH=/home/datax/bin/datax.py#g /home/datax-web-2.1.2/modules/datax-executor/bin/env.properties

启动Datax-web

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 务必进去这个文件夹中启动 不然会起不来
[root@test-200 bin]# cd /home/datax-web-2.1.2/bin
[root@test-200 bin]# bash start-all.sh
2025-03-12 17:11:31.391 [INFO] (5034) Try To Start Modules In Order
2025-03-12 17:11:31.400 [INFO] (5042)  ####### Begin To Start Module: [datax-admin] ######
2025-03-12 17:11:31.409 [INFO] (5050) load environment variables
2025-03-12 17:11:31.690 [INFO] (5050) /usr/local/jdk1.8.0_211/bin/java
2025-03-12 17:11:31.693 [INFO] (5050) Waiting DATAX-ADMIN to start complete ...
2025-03-12 17:11:31.843 [INFO] (5050) DATAX-ADMIN start success
2025-03-12 17:11:31.856 [INFO] (5277)  ####### Begin To Start Module: [datax-executor] ######
2025-03-12 17:11:31.869 [INFO] (5285) load environment variables
2025-03-12 17:11:32.299 [INFO] (5285) /usr/local/jdk1.8.0_211/bin/java
2025-03-12 17:11:32.302 [INFO] (5285) Waiting DATAX-EXEXUTOR to start complete ...
2025-03-12 17:11:32.543 [INFO] (5285) DATAX-EXEXUTOR start success
[root@test-200 bin]# jps
5524 DataXExecutorApplication
5227 DataXAdminApplication
5579 Jps      

[root@test-200 bin]# netstat -tnlp | grep java
tcp6       0      0 :::9527                 :::*                   LISTEN      5227/java          
tcp6       0      0 :::9504                 :::*                   LISTEN      5524/java          
tcp6       0      0 :::9999                 :::*                   LISTEN      5524/java
1
2
3
4
# 访问ip:9527/index.html
http://192.168.116.200:9527/index.html
默认账号密码
admin/123456

避坑

1
2
3
4
5
6
7
8
9
10

# 添加mysql5.7 数据库源时无法连接到数据库
# 报错如下
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link

# jdbc url 这里如果按下面写会无法链接
jdbc:mysql://192.168.1.123:3306/test

# 正确方式加入后面这串就好了
jdbc:mysql://192.168.1.123:3306/test?useSSL=false&connectTimeout=10000&socketTimeout=30000

Datax-web部署文档
http://ziiix.cn/2025/04/01/Datax-web部署文档/
作者
John Doe
发布于
2025年4月1日
许可协议