Ubuntu下安装Datax-web数据交换平台
Posted geekfly
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu下安装Datax-web数据交换平台相关的知识,希望对你有一定的参考价值。
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
下载并解压
wget http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz
tar -zxvf datax.tar.gz
需删除脚本,否则启动会报错
位置信息错误,您提供的配置文件[datax/plugin/reader/._xxxx/plugin.json]不存在
操作如下:
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上面获得源代码,在项目的根目录下执行如下命令
mvn clean install
执行成功后将会在工程的build目录下生成安装包
build/datax-web-2.1.2.tar.gz
此处下载版本为2.1.2,实际替换为自己的。
3. 部署和配置
1. 解压
tar -zxvf datax-web-2.1.2.tar.gz
cd datax-web-2.1.2
2. 执行一键安装脚本
./bin/install.sh
一路按y
同意即可,或者使用
./bin/install.sh --force
3. 数据库初始化
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端登录不上。为了它重新建了用户,密码只包含数字、字母。
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
安装成功提示如下:
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 ######
关于数据库的配置,也可以直接在这里修改,修改之后重启服务即可。
vi ./modules/datax-admin/conf/bootstrap.properties
4. 配置Datax位置
vi ./modules/datax-execute/bin/env.properties
### 执行datax的python脚本地址
PYTHON_PATH=datax/bin/datax.py
5. 启动服务
# 启动服务
./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
# 结束服务
./bin/stop-all.sh
运行jps查看状态,如果出现DataXAdminApplication和DataXExecutorApplication进程,这表示项目运行成功
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
以上是关于Ubuntu下安装Datax-web数据交换平台的主要内容,如果未能解决你的问题,请参考以下文章