本帖最后由 da11 于 2024-7-24 18:27 编辑
DataX在麒麟操作系统部署及从Mysql同步至达梦8数据库
1、下载部署阶段
#测试部署前置信息:
#主机:2台,网络需要互相连通(内网、外网均可)
#操作系统:麒麟Ky10
#CPU架构:x86_64
#CPU核数:8核
#内存:8G
#硬盘分区:50G
#DataX部署路径:/data/
#数据库:2套,Mysql5.7版本(本帖不包含Mysql8以上的教程),达梦数据库8
#数据表信息,Mysql和达梦需提前创建好对应的库(实例/模式)和表,本帖为测试同步是否正常,故mysql和达梦的表和列名都是一致的(除了大小写)。
1.1、下载
datax项目github地址:https://github.com/alibaba/DataX/blob/master/userGuid.md #可以从项目地址下方的Quick Start获取最新的稳定版tar包
直链下载地址:http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz
1.2、存放部署
存放至2台主机中的其中一台,使用以下命令解压tar包
cd /data/
tar -zxf datax.tar.gz
1.3、环境检查
依赖1: python2(最好是python2.6,python3因语法不同,会导致运行报错!)
依赖2:JDK(JDK1.8以上,推荐1.8)
依赖3:Apache Maven 3.x (Compile DataX)(可选依赖,如不使用Maven打包功能,这个依赖可不用安装!)
2、使用DataX同步数据阶段
2.1、首先,当前DataX版本默认只支持达梦7版本,如果需要同步达梦8,则需要下载达梦8的驱动,可自行百度下载。
2.1.1、下载好的达梦8驱动,放在如下位置:
/data/datax/lib、/data/datax/plugin/reader/rdbmsreader/lib、/data/datax/plugin/reader/rdbmswriter/lib下
2.1.2 、确认plugin.json是否有达梦数据库的驱动在列表中
2.2、创建同步job任务
2.2.1、使用vim命令编辑: vim /data/datax/job/mdsync.json
2.2.2、可参考下述的模板为mdsync.json文件
{
"job": {
"setting": {
"speed": {
"channel": 5
}
},
"content": [
{
"reader": {
"name": "mysqlreader", #Mysql读模型,不要修改
"parameter": {
"column": [
"Id", #表示对应的字段都需要读取
"Phone",
"Remark",
],
"connection": [
{
"jdbcUrl": [
"jdbc:mysql://192.168.0.1:3306/mysqlsource" #Mysql数据串,mysqlsource是数据库名
],
"table": [
"mysqltesttable" #Mysql读取的表
]
}
],
"password": "123456",
"username": "root",
"where": ""
}
},
"writer": {
"name": "rdbmswriter", #其他rdbms非关系型数据库写模型,不要修改
"parameter": {
"column": [
"ID", #表示对应的字段都需要写入,因为达梦数据库跟随oracle数据库的特性,表名和字段名都需要大写!
"PHONE",
"REMARK",
],
"connection": [
{
"jdbcUrl": "jdbc:dm://192.168.0.2:5236?schema=dmtest", #达梦数据库连接串,dmtest是模式名
"table": [
"MYSQLTESTTABLE" #达梦数据库写入的表名,因为达梦数据库跟随oracle数据库的特性,表名和字段名都需要大写!
]
}
],
"username": "datax"
"password": "TEST123456" #注意:达梦数据库的账号不区分大小写,但密码区分大小写!
}
}
}
]
}
}
2.3、启动刚刚配置的任务
cd /data/datax/bin/
python ./datax.py /data/datax/job/mdsync.json
没有报错且出现下方任务同步数量一致,即同步成功。
2.3.1、最后,请验证达梦数据库是否成功同步数据。
3、总结,达梦8数据库本身不支持,但通过拉取新的达梦8数据库驱动及配置好json任务,即可成功同步。
|