Ubuntu下安装Datax-web数据交换平台

2022-08-11 15:11:11 浏览数 (1)

0. 前言

DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、SQL Server、Oracle、PostgreSQL、HDFS、Hive、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。

DataX Web是在DataX之上开发的分布式数据同步工具,提供简单易用的 操作界面,降低用户使用DataX的学习成本,缩短任务配置时间,避免配置过程中出错。用户可通过页面选择数据源即可创建数据同步任务,支持RDBMS、Hive、HBase、ClickHouse、MongoDB等数据源,RDBMS数据源可批量创建数据同步任务,支持实时查看数据同步进度及日志并提供终止同步功能,集成并二次开发xxl-job可根据时间、自增主键增量同步数据。

为了实现两个数据库之间的数据交换,企业级有ODI等,此处尝试DataX做小型数据交换。

1. 安装DataX

下载并解压

代码语言:javascript复制
wget http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz
tar -zxvf datax.tar.gz

需删除脚本,否则启动会报错

位置信息错误,您提供的配置文件[datax/plugin/reader/._xxxx/plugin.json]不存在

操作如下:

代码语言:javascript复制
cd datax/plugin
find ./* -type f -name "._*er"

如果列出了一堆文件,在plugin文件夹下执行rm -rf */._*【谨慎操作,pwd确认目录】 再次查看没有即可。

具体参考官方安装地址:https://github.com/alibaba/DataX/blob/master/userGuid.md

2. 安装DataX-Web

参考:官方教程

方式一:下载官方提供的版本tar版本包 点击下载 提取码:cpsk 备注:目前200兆,如果百度云太慢,可以自行打包,参考二。

方式二:编译打包(官方提供的tar包跳过) 直接从Git上面获得源代码,在项目的根目录下执行如下命令

代码语言:javascript复制
mvn clean install 

执行成功后将会在工程的build目录下生成安装包

代码语言:javascript复制
build/datax-web-2.1.2.tar.gz

此处下载版本为2.1.2,实际替换为自己的。

3. 部署和配置

1. 解压
代码语言:javascript复制
tar -zxvf datax-web-2.1.2.tar.gz
cd datax-web-2.1.2
2. 执行一键安装脚本
代码语言:javascript复制
./bin/install.sh

一路按y同意即可,或者使用

代码语言:javascript复制
./bin/install.sh --force
3. 数据库初始化
代码语言:javascript复制
Scan out mysql command, so begin to initalize the database
Do you want to initalize database with sql: [{INSTALL_PATH}/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数据库,创建用户,指定数据库,比如dataxweb。 这里有大坑,用户密码不能包含@&这类的特殊字符,否则install不成功或者web端登录不上。为了它重新建了用户,密码只包含数字、字母。

代码语言:javascript复制
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

安装成功提示如下:

代码语言:javascript复制
2022-07-31 21:11:26.118 [INFO] (14858)  ####### Start To Uncompress Packages ######
2022-07-31 21:11:26.119 [INFO] (14858) Uncompressing....
2022-07-31 21:11:26.122 [INFO] (14858)  Uncompress package: [datax-admin_2.1.2_1.tar.gz] to modules directory
2022-07-31 21:11:27.940 [INFO] (14858)  Uncompress package: [datax-executor_2.1.2_1.tar.gz] to modules directory
2022-07-31 21:11:28.225 [INFO] (14858)  ####### Finish To Umcompress Packages ######
Scan modules directory: [/root/datax-web-2.1.2/bin/../modules] to find server under dataxweb
2022-07-31 21:11:28.227 [INFO] (14858)  ####### Start To Install Modules ######
2022-07-31 21:11:28.229 [INFO] (14858) Module servers could be installed:
 [datax-admin]  [datax-executor]
2022-07-31 21:11:28.231 [INFO] (14858)  Install module server: [datax-admin]
Start to make directory
2022-07-31 21:11:28.242 [INFO] (14894)  Start to build directory
2022-07-31 21:11:28.244 [INFO] (14894) Directory or file: [/root/datax-web-2.1.2/modules/datax-admin/bin/../logs] has been exist
2022-07-31 21:11:28.245 [INFO] (14894) Directory or file: [/root/datax-web-2.1.2/modules/datax-admin/bin/../conf] has been exist
2022-07-31 21:11:28.247 [INFO] (14894) Directory or file: [/root/datax-web-2.1.2/modules/datax-admin/bin/../data] has been exist
end to make directory
Start to initalize database
2022-07-31 21:11:28.252 [INFO] (14894)  Scan out mysql command, so begin to initalize the database
Do you want to initalize database with sql: [/root/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): dataxweb
Please input the db password(default: ): pwd
Please input the db name(default: dataxweb)dataxweb
mysql: [Warning] Using a password on the command line interface can be insecure.
2022-07-31 21:11:55.151 [INFO] (14858)  Install module server: [datax-executor]
2022-07-31 21:11:55.162 [INFO] (14930)  Start to build directory
2022-07-31 21:11:55.163 [INFO] (14930) Directory or file: [/root/datax-web-2.1.2/modules/datax-executor/bin/../logs] has been exist
2022-07-31 21:11:55.165 [INFO] (14930) Directory or file: [/root/datax-web-2.1.2/modules/datax-executor/bin/../conf] has been exist
2022-07-31 21:11:55.167 [INFO] (14930) Directory or file: [/root/datax-web-2.1.2/modules/datax-executor/bin/../data] has been exist
2022-07-31 21:11:55.168 [INFO] (14930) Directory or file: [/root/datax-web-2.1.2/modules/datax-executor/bin/../json] has been exist
2022-07-31 21:11:55.170 [INFO] (14858)  ####### Finish To Install Modules ######

关于数据库的配置,也可以直接在这里修改,修改之后重启服务即可。

代码语言:javascript复制
vi ./modules/datax-admin/conf/bootstrap.properties
4. 配置Datax位置
代码语言:javascript复制
vi ./modules/datax-execute/bin/env.properties

### 执行datax的python脚本地址
PYTHON_PATH=datax/bin/datax.py
5. 启动服务
代码语言:javascript复制
# 启动服务
./bin/start-all.sh

2022-07-31 21:32:55.807 [INFO] (16253)  Try To Start Modules In Order
2022-07-31 21:32:55.812 [INFO] (16261)  ####### Begin To Start Module: [datax-admin] ######
2022-07-31 21:32:55.817 [INFO] (16269) load environment variables
2022-07-31 21:32:56.016 [INFO] (16269) java
2022-07-31 21:32:56.018 [INFO] (16269) Waiting DATAX-ADMIN to start complete ...
2022-07-31 21:32:56.137 [INFO] (16269) DATAX-ADMIN start success
2022-07-31 21:32:56.142 [INFO] (16476)  ####### Begin To Start Module: [datax-executor] ######
2022-07-31 21:32:56.146 [INFO] (16484) load environment variables
2022-07-31 21:32:56.524 [INFO] (16484) java
2022-07-31 21:32:56.526 [INFO] (16484) Waiting DATAX-EXEXUTOR to start complete ...
2022-07-31 21:32:56.759 [INFO] (16484) DATAX-EXEXUTOR start success
代码语言:javascript复制
# 结束服务
./bin/stop-all.sh

运行jps查看状态,如果出现DataXAdminApplication和DataXExecutorApplication进程,这表示项目运行成功

代码语言:javascript复制
jps
18726 Jps
17575 DataXAdminApplication
17851 DataXExecutorApplication

如果项目启动失败,请检查启动日志:modules/datax-admin/bin/console.out或者modules/datax-executor/bin/console.out

4. 访问

浏览器访问 http://ip:9527/index.html 输入用户名 admin 密码 123456 就可以直接访问系统 注意开启防火墙,ufw allow 9542

参考:https://blog.csdn.net/AnameJL/article/details/119760642

0 人点赞