DataX实现Mysql->Mysql数据同步,并用Crontab定时调度DataX脚本

1 篇文章 0 订阅
1 篇文章 0 订阅

DataX的安装部署

1、 前提条件

1.1 JDK安装
jdk安装前往官网,这里我安装jdk-8u261

解压

sudo mkdir -p /opt/moudle
sudo tar -zxvf jdk-8u261-linux-x64.tar.gz -C /opt/moudle/

设置环境变量

export JAVA_HOME=/opt/moudle/jdk1.8.0_261
export JRE_HOME=JAVA_HOME/jre export CLASSPATH=.:{JAVA_HOME}/jre export CLASSPATH=.:JAVA 
HOME/jreexportCLASSPATH=.:{JAVA_HOME}/lib:JREHOME/lib export PATH = {JRE_HOME}/lib export PATH=JRE 
HOME/libexportPATH={JAVA_HOME}/bin:$PATH

刷新配置

source /etc/profile

检查JAVA是否安装成功

java -version

#出现如下所示表示安装成功

java version “1.8.0_261”
Java™ SE Runtime Environment (build 1.8.0_261-b12)
Java HotSpot™ 64-Bit Server VM (build 25.261-b12, mixed mode)

1.2 python安装
1.3 hadoop分布式集群安装

2、安装DataX

2.1 解压

tar -zxvf datax.tar.gz -C /opt/software/

2.2 配置环境变量
vim /etc/profile

#datax
export DATAX_HOME=/opt/datax
export PATH=$PATH:$DATAX_HOME/bin

2.3 运行自检脚本
cd /opt/software/datax/
bin/datax.py job/job.json

出现如下表示安装成功
在这里插入图片描述

3、DataX实现Mysql->Mysql的数据同步

3.1 在datax的根目录下的job下配置json文件
vim mysql2mysql.json

{
“job”: {
“content”: [
{
“reader”: {
“name”: “mysqlreader”,
“parameter”: {
“connection”: [
{
“jdbcUrl”: [“jdbc:mysql://10.3.7.231:3306/dtc_platform_cloud”],
“querySql”: [“select * from t1”]
}
],
“password”: “DTCserver2019!”,
“username”: “root”,
“where”: “”
}
},
“writer”: {
“name”: “mysqlwriter”,
“parameter”: {
“column”: [
“*”
],
“connection”: [
{
“jdbcUrl”: “jdbc:mysql://10.3.7.231:3306/dtc_platform_cloud”,
“table”: [“alarm”]
}
],
“username”: “root”,
“password”: “DTCserver2019!”,
“writeMode”: “replace”
}
}
}
],
“setting”: {
“speed”: {
“channel”: “5”
}
}
}
}

配置到以上步骤后,执行

python /opt/datax/bin/datax.py /opt/datax/job/mysql2mysql.json

就实现了数据的同步

4、Crontab定时调度DataX脚本

4.1 创建一个文件夹
mkdir -p /opt/data/crontab/
cd /opt/data/crontab
vim mysql2mysql.sh
添加如下内容

#!/bin/bash
source /etc/profile --这个地方需要source一下环境变量
python /opt/datax/bin/datax.py /opt/datax/job/mysql2mysql.json

4.2 crontab配置定时任务
crontab -e
添加如下内容(表示每1分钟执行一次mysql2mysql.sh脚本,也就是每1分钟执行mysql2mysql.json脚本)

*/1 * * * * sh /opt/data/crontab/mysql2mysql.sh

4.3 重启cron的服务

启动cron服务[命令没有提示] :systemctl start crond.service
停止cron服务[命令没有提示] :systemctl stop crond.service
重启cron服务[命令没有提示] :systemctl restart crond.service
重新加载cron服务[命令没有提示] : systemctl reload crond.service

4.4 设置开机自启

检测cron定时服务是否自启用:systemctl is-enabled crond.service
enable表示已启用自启动
disable标识未启用自启动

如果未启用,则开启cron自启用
systemctl enable crond.service
如果已经启用,想要cron关闭自启动
systemctl disable crond.service
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值