使用jar配置启动
同步至数据库时,需要配置cfg.properties和dbcfg.properties文件。
配置cfg.properties
同步类型、源端数据库配置和写入数据库如表1表所示。
配置参数 | 说明 |
---|---|
#type in (db,kafka,file) | - |
source.type=db | 源端类型 |
aim.type=db | 目标端类型 |
#binlog source config | 源端数据库配置信息 |
source.log.db=db | 待同步库名 |
source.db.usr=usr_sod | 源端用户名 |
source.db.pwd=password | 源端用户名密码(通过Encryption.jar加密后的密码) |
source.db.port=12345 | 源端端口号 |
source.log.suber.name=sync2 | 同步使用的订阅名 |
source.log.filter.T=null | 同步过滤表达式,过滤指定表。格式:模式名:表名,多个表之间以&符号分割。例:s1:t1&s2:t2。(均使用英文字符) |
source.log.filter.V=null | 同步过滤表达式,过滤指定视图 |
source.log.filter.P=null | 同步过滤表达式,过滤指定存储过程 |
source.log.filter.F=null | 同步过滤表达式,过滤指定存储函数 |
source.log.forward=true | 与source.log.filter配合使用,若为true,则同步source.log.filter中所配置的表。若为false,则不同步source.log.filter中所配置的表。默认为true |
source.log.partion=8 | 数据库日志分区 |
source.log.fetch.size=20 | 同步每次拉取日志大小 |
source.log.ips=127.0.0.1 | 单事务最大行数 |
source.commit_rows=1000 | 同步过滤表达式,过滤指定存储函数 |
ddl.support=false | 是否进行 DDL 同步 |
redo.offset.server=true | 是否启用数据库端订阅者偏移量 |
reconnect.num=-1 | 数据库重连次数,为-1则为无限重连 |
disable.binlog=false | true目标端binlog不记录同步的数据,false为记录 |
isMax.binlog=false | false从binlog原始位置开始读取,true从最新的文件号的0偏移量开始读取 |
# kafka source config | 源端kafka配置 |
source.kafka.parath=8 | 每个topic的分区数 |
source.topic=test.d2.tclob\\test.u2.t1 | 需要同步的topic名,以”\\”分隔 |
case.sensitive=true | 用于同步至kafka时创建topic的大小写控制。若为true,则创建的topic名大小写按照源端库实际大小写创建。若为false,则创建的topic名全为小写 |
#to kafka | 写入Kafka消息中间件配置 |
zk.connect=192.168.2.225:2181 | zookeeper ip |
topic.partition=8 | Kafka每个topic的分区数 |
repeat.pos.kafka=true | 是否依赖Kafka数据进行断点续传过滤重复 |
case.sensitive=true | 用于同步至kafka时创建topic的大小写控制。若为true,则创建的topic名大小写按照源端库实际大小写创建。若为false,则创建的topic名全为小写 |
#to db | 写入数据库 |
writer.thd.num=8 | 同步时写入线程数(建议和source.log.partion 相同) |
writer.db=xugu> | 目标库类型(xugu>,oracle,mysql) |
writer.schema=SYSDBA | 指定目标端模式名(严格区分大小写) |
writer.parathd.num=1 | 入库并发数 |
# to Http | EI信息 |
url.ei= | 针对天境EI,可不填 |
task.id= | 针对天境EI,可不填 |
task.name= | 针对天境EI,可不填 |
说明:
- aim.type:此参数为目标端类型,可选参数为db、kafka、file,此处配置为db即可。
- source.log.db和source.log.suber.name:两个参数根据实际情况进行修改,分别为需要同步的库名和同步使用的订阅者名。
- source.log.ips:为binlog日志记载节点的IP,支持多IP配置,可以根据实际情况修改IP,多个IP之间用逗号隔开。
- source.log.partion:参数为源端数据库 binlog日志分区数,此参数需要和数据库配置文件xugu>.ini中的参数modify_log_parti_num保持一致,使用时根据实际配置修改此参数的值,数据配置默认为8。另外,writer.thd.num参数的值建议和source.log.partion保持一致。
- source.log.filter:根据实际同步需求进行修改,其余参数使用默认值即可。
配置dbcfg.properties
同步至虚谷数据库
库信息 配置参数 说明 目标库连接信息 target-db.user=SYSDBA - target-db.password=SYSDBA 通过 Encryption.jar 加密后的密码 target-db.driverClass=com.xugu>.cloudjdbc.Driver - target-db.jdbcUrl=jdbc:xugu>://192.168.2.222:9930/dcc - 数据库日志记载节点连接信息 binlog-db.user=SYSDBA - binlog-db.password=SYSDBA 通过 Encryption.jar 加密后的密码 binlog-db.driverClass=com.xugu>.cloudjdbc.Driver - binlog-db.jdbcUrl=jdbc:xugu>://192.168.2.225:9930/dbb - 同步至MySQL数据库
库信息 配置参数 说明 目标库连接信息 target-db.user=SYSDBA - target-db.password=SYSDBA 通过 Encryption.jar 加密后的密码 target-db.driverClass=com.mysql.cj.jdbc.Driver - target-db.jdbcUrl=jdbc:mysql://192.168.2.85:3306/d2?useUnicode=true&characterEncoding=utf-8 - 数据库日志记载节点连接信息 binlog-db.user=SYSDBA - binlog-db.password=SYSDBA 通过 Encryption.jar 加密后的密码 binlog-db.driverClass=com.xugu>.cloudjdbc.Driver - binlog-db.jdbcUrl=jdbc:xugu>://192.168.2.225:9930/dbb - 同步至Oracle数据库
库信息 配置参数 说明 目标库连接信息 target-db.user=u2 - target-db.password=MTIzNDU2 通过 Encryption.jar 加密后的密码 target-db.driverClass=oracle.jdbc.driver.OracleDriver - target-db.jdbcUrl=jdbc:oracle:thin:@//192.168.2.17:1521/orcl - 数据库日志记载节点连接信息 binlog-db.user=SYSDBA - binlog-db.password=SYSDBA 通过 Encryption.jar 加密后的密码 binlog-db.driverClass=com.xugu>.cloudjdbc.Driver - binlog-db.jdbcUrl=jdbc:xugu>://192.168.2.225:9930/dbb -
此配置文件为数据库连接信息配置,主要配置数据源和目标数据库基本连接信息,用户根据实际情况配置好即可。另外,此处源端的数据库用户必须是cfg.properties中订阅者绑定的用户。
启动程序
cfg.properties和dbcfg.properties配置修改完成,检查无误后启动即可。
启动命令:
./xugusyn.sh start
查看是否启动同步软件命令:
./xugusyn.sh status
停止同步软件命令:
./xugusyn.sh stop