datax
datax介绍
DataX 是阿里云的离线数据同步工具,它通过 JDBC 连接 MySQL 数据库,发送 SQL 语句获取数据缓存在本地 JVM中,然后通过 Writer 线程将数据写入到表格存储的数据表中。
部署datax
1、下载datax
wget http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz
2、安装python 3
apt install python3
3、安装jdk11,mysql(需要安装mysql5.7,mysql8需要配置兼容)
apt install openjdk-11-jre-headless openjdk-11-jdk-headless mysql-server
4、配置jdk环境变量
[root@ksbl-sit ~]# vim .bashrc
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
[root@ksbl-sit ~]# source .bashrc
6、安装datax可视化界面
安装datax-web(datax的可视化服务),需要输入数据库的ip(默认127.0.0.1,这个IP必须匹配/etc/mysql/mysql.conf.d/mysqld.cnf中的bind IP,否则没法查数据库)、mysql的用户名和密码。之后会自动创建一个dataxweb数据库,里面包含datax-web的用户名和密码
#下载datax-web界面
https://pan.baidu.com/s/13yoqhGpD00I82K4lOYtQhg
cpsk
#安装
[root@ksbl-sit datax-web-2.1.2]# ./bin/install.sh --force
#数据库配置文件
[root@ksbl-sit datax-web-2.1.2]# cat modules/datax-admin/conf/bootstrap.properties
#Database
DB_HOST=127.0.0.1
DB_PORT=3306
DB_USERNAME=root
DB_PASSWORD=
DB_DATABASE=dataxweb
#手动导入数据库
[root@ksbl-sit ~]# find ./datax-web-2.1.2 -name "datax_web.sql"
./datax-web-2.1.2/bin/db/datax_web.sql
mysql -u root dataxweb < datax_web.sql
7、配置datax位置
[root@ksbl-sit bin]# vim /root/datax-web-2.1.2/modules/datax-executor/bin/env.properties
........
### 执行datax的python脚本地址
PYTHON_PATH=datax/bin/datax.py
........
8、启动服务
[root@ksbl-sit datax-web-2.1.2]# pwd
/root/datax-web-2.1.2
[root@ksbl-sit datax-web-2.1.2]# ./bin/start-all.sh
.........
2024-12-02 13:43:44.950 [INFO] (3124) DATAX-EXEXUTOR start success
9、运行jps查看状态,如果出现DataXAdminApplication和DataXExecutorApplication进程,这表示项目运行成功
[root@ksbl-sit datax-web-2.1.2]# jps
3072 DataXAdminApplication
3491 Jps
1240 ServerMain
3354 DataXExecutorApplication
10、访问
http://192.1.6.1:9527/index.html
账号:admin
密码:123456
如果开了防火墙,需要开放9527端口
ufw allow 9542
连接报错处理思路
如果出现账号密码错误,可查看日志
[root@ksbl-sit bin]# pwd
/root/datax-web-2.1.2/modules/datax-admin/bin
[root@ksbl-sit bin]# tail -f console.out
数据库相关错误
-- 查看所有用户信息
select user,host from mysql.user;
-- 创建用户并设置密码
CREATE USER 'root'@'%' IDENTIFIED BY 'chang0123';
-- 授予所有权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
-- 刷新权限
FLUSH PRIVILEGES;
-- 将用户的身份验证插件修改为 mysql_native_password
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'chang0123';

浙公网安备 33010602011771号