目录
移步原文网站,浏览最新博客。
环境准备
最低硬件要求
服务器2C4G,带宽1M以上。
基础软件安装
- MySQL (5.5+) 必选,对应客户端可以选装, Linux服务上若安装mysql的客户端可以通过部署脚本快速初始化数据库
- JDK (1.8.0_xxx) 必选
- Maven (3.6.1+) 必选
- Python (2.x) (支持Python3需要修改替换datax/bin下面的三个python文件,替换文件在doc/datax-web/datax-python3下)
必选,主要用于调度执行底层DataX的启动脚本,默认的方式是以Java子进程方式执行DataX,用户可以选择以Python方式来做自定义的改造
sudo apt update
sudo apt install mysql-server
sudo apt-get install openjdk-8-jdk
sudo apt install maven
sudo apt install python2
udo apt install python-is-python2 # python链接
DataX下载
wget http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz
tar -zxvf datax.tar.gz
DataX Web下载
点击下载 提取码:cpsk
下载结束之后借助scp传输到你的服务器指定目录下。
部署DataX Web
解压安装包
在选定的安装目录,解压安装包
tar -zxvf datax-web-{VERSION}.tar.gz
执行一键安装脚本
进入解压后的目录,找到bin目录下面的install.sh文件,如果选择交互式的安装,则直接执行
./bin/install.sh
在交互模式下,对各个模块的package压缩包的解压以及configure配置脚本的调用,都会请求用户确认,可根据提示查看是否安装成功,如果没有安装成功,可以重复尝试;
如果不想使用交互模式,跳过确认过程,则执行以下命令安装
./bin/install.sh --force
数据库初始化
这里配置的是datax自己的数据库,可以直接选择本机部署的数据库也可以接入外部的数据库。注意如果配置错误会导致后续web登录失败。如果你的服务器上安装有mysql命令,在执行安装脚本的过程中则会出现以下提醒:
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: exchangis)
按照提示输入数据库地址,端口号,用户名,密码以及数据库名称,大部分情况下即可快速完成初始化。
如果服务器上并没有安装mysql命令,则可以取用目录下/bin/db/datax-web.sql脚本手动执行,完成后修改相关配置文件。
vi ./modules/datax-admin/conf/bootstrap.properties
#Database
DB_HOST=
DB_PORT=
DB_USERNAME=
DB_PASSWORD=
# schema
DB_DATABASE=
按照具体情况配置对应的值即可。
配置
安装完成之后,
在项目目录:
/modules/datax-admin/bin/env.properties 配置邮件服务(可跳过)
MAIL_USERNAME=""
MAIL_PASSWORD=""
此文件中包括一些默认配置参数,例如:server.port,具体请查看文件。
在项目目录下/modules/datax-executor/bin/env.properties 指定PYTHON_PATH的路径
vi ./modules/{module_name}/bin/env.properties
### 执行datax的python脚本地址
PYTHON_PATH= 你的datax目录/datax/bin/datax.py
### 保持和datax-admin服务的端口一致;默认是9527,如果没改datax-admin的端口,可以忽略
DATAX_ADMIN_PORT=
此文件中包括一些默认配置参数,例如:executor.port,json.path,data.path等,具体请查看文件。
启动服务
- 一键启动所有服务
./bin/start-all.sh
中途可能发生部分模块启动失败或者卡住,可以退出重复执行,如果需要改变某一模块服务端口号,则:
vi ./modules/{module_name}/bin/env.properties
找到SERVER_PORT配置项,改变它的值即可。
当然也可以单一地启动某一模块服务:
./bin/start.sh -m {module_name}
- 一键取消所有服务
./bin/stop-all.sh
当然也可以单一地停止某一模块服务:
./bin/stop.sh -m {module_name}
查看服务(注意!注意!)
利用jps命令,查看是否出现DataXAdminApplication和DataXExecutorApplication进程,如果存在这表示项目运行成功。
如果项目启动失败,请检查启动日志:modules/datax-admin/bin/console.out或者modules/datax-executor/bin/console.out
运行
部署完成后,在浏览器中输入 http://ip:port/index.html 就可以访问对应的主界面(ip为datax-admin部署所在服务器ip,port为为datax-admin 指定的运行端口)
输入用户名 admin 密码 123456 就可以直接访问系统
可能遇到的问题
问题1
web登录时报用户名或密码错误,登录失败,查看位于modules/datax-admin/bin/console.out的日志发现数据库连接报错(jdbc链接报错,种类比较多,都会导致登录失败),重新编辑位于modules/datax-admin/conf/bootstrap.properties的数据库配置利用console.out的日志来纠错即可。
问题2
执行同步任务时日志报错
Could not retrieve transation read-only status server
这是由于你的MySQL和MySQL驱动不一致的原因,查看datax/plugin/writer/mysqlwriter/libs下是mysql-connector-java-5.x.x.jar,同步任务配置的目标数据库MySQL版本是8.x.x。将更高版本的驱动mysql-connector-java-8.x.x.jar替换原位置的mysql-connector-java-5.x.x.jar重新启动DataX Web即可。
问题3
java.io.ioexception: cannot run program “python”: error=2, no such file or directory
首先借助命令whereis python2
确保你已经成功安装了python2.X
如图所示为已经安装python2.X的实例。
如果已经安装python2.x,继续安装pyhton链接工具帮助你的应用程序找到python2.X
apt install python-is-python2
问题4
删除datax/plugin/reader下所有._xxxx隐藏文件和datax/plugin/writer/下所有._xxxx隐藏文件
find /你的目录/datax/plugin/reader/ -type f -name "._*er" | xargs rm -rf
find /你的目录/datax/plugin/writer/ -type f -name "._*er" | xargs rm -rf
更多问题请参考DataX官方Issues和DataX Web官方Issues
更多精彩文章请移步我的主页