准备工作:
JDK(1.8 以上,推荐 1.8)
Python(2,3 版本都可以)
Apache Maven 3.x(Compile DataX)(手动打包使用,使用 tar 包方式不需要安装)
主机名 | 操作系统 | IP 地址 | 软件包 |
---|---|---|---|
线上210 | CentOS 7.9 | 182.169.212.210 | |
线下192 | CentOS 7.9 | 192.168.88.192 | jdk-8u181-linux-x64.tar.gz datax.tar.gz |
安装 JDK:下载地址(需要创建 Oracle 账号)
配置jdk环境变量
vi /etc/profile
export JAVA_HOME=/usr/local/java/jdk1.8.0_161
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export CANAL_SERVER_HOME=/usr/local/canal/deployer
export PATH=$CANAL_SERVER_HOME/bin:$PATH
[root@192 ~]# source /etc/profile
[root@192 ~]# java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
[root@192 ~]# javac #能显示java信息表示安装jdk按装成功
因为 CentOS 7 上自带 Python 2.7 的软件包,所以不需要进行安装
Linux 上安装 DataX 软件
[root@192 ~]# wget http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz
[root@192 ~]# tar zxf datax.tar.gz -C /usr/local/
[root@192 ~]# rm -rf /usr/local/datax/plugin/*/._* # 需要删除隐藏文件 (重要)
当未删除时,可能会输出:[/usr/local/datax/plugin/reader/._drdsreader/plugin.json] 不存在. 请检查您的配置文件.
验证:
[root@192 ~]# cd /usr/local/datax/bin
[root@192 ~]# python datax.py ../job/job.json # 用来验证是否安装成功
输出:
2022-04-24 17:21:04.845 [job-0] INFO JobContainer -
任务启动时刻 : 2022-04-24 17:20:54
任务结束时刻 : 2022-04-24 17:21:04
任务总计耗时 : 10s
任务平均流量 : 253.91KB/s
记录写入速度 : 10000rec/s
读出记录总数 : 100000
读写失败总数 : 0
能显示出来表示验证成功
通过 DataX 实 MySQL 数据同步
生成 MySQL 到 MySQL 同步的模板:
#输出mysql配置模版
[root@192 bin]# python /usr/local/datax/bin/datax.py -r mysqlreader -w mysqlwriter > /usr/local/datax/job/mysql2mysql.json
#根据模板编写 mysql2mysql.json文件
{
"job": {
"content": [
{
"reader": {
"name": "mysqlreader",
"parameter": {
"column": ["id","name"], #"*"表示所有字段
"connection": [
{
"jdbcUrl": ["jdbc:mysql://x.x.x.210:3306/mytest"],
"table": ["user"]
}
],
"password": "root",
"username": "root"
}
},
"writer": {
"name": "mysqlwriter",
"parameter": {
"column": ["id","name"],
"connection": [
{
"jdbcUrl": "jdbc:mysql://192.168.88.192:3306/mytest",
"table": ["user"]
}
],
"password": "root",
"username": "root",
"writeMode": "insert"
}
}
}
],
"setting": {
"speed": {
"channel": "6"
}
}
}
}
验证:
[root@192 job]# python /usr/local/datax/bin/datax.py mysql2mysql.json
2022-04-24 17:39:03.445 [job-0] INFO JobContainer -
任务启动时刻 : 2022-04-24 17:38:49
任务结束时刻 : 2022-04-24 17:39:03
任务总计耗时 : 14s
任务平均流量 : 0B/s
记录写入速度 : 0rec/s
读出记录总数 : 3
读写失败总数 : 0
作者:Jeebiz 创建时间:2022-06-15 11:58
更新时间:2024-07-10 22:56
更新时间:2024-07-10 22:56