基于kafka的oracle实时同步

由于项目用到了基于oracle非入侵式日志实时同步cdc模式,但是ogg价格昂贵,有些项目不愿意花这部分钱来做数据实时同步,后面公司大牛推荐,自己研究了下基于kafka-connect的oracle实时同步。

上面清晰的写了部署步骤。

1、需要开启oracle归档日志

2、基于oracle logminer的解析方式,对源库有一定影响,影响在5%以内。

我使用的是confluent。下面以confluent为中间件,写下部署步骤。confluent的使用请百度。

1、上传jar包到/xxx/xx/xx/confluent/share/java/kafka-connect-jdbc:kafka-connect-oracle-1.0.jar,ojdbc7.jar,jsqlparser-1.2.jar

2、cd /xxxx/xxxxx/confluent/etc/kafka-connect-jdbc  增加OracleSourceConnector.properties,内容如下:

name=oracle-logminer-connector

connector.class=com.ecer.kafka.connect.oracle.OracleSourceConnector

db.name.alias=oval

tasks.max=1

topic=test666-1

db.name=orcl

db.hostname=xxx.xxx.xxxx.131

db.port=1521

db.user=xxx

db.user.password=xxxxxx

db.fetch.size=1

table.whitelist=OVAL.*,OVAL.WQ_TEST #同步策略

parse.dml.data=true

reset.offset=false

start.scn=

3、修改confluent/etc/schema-registry下connect-avro-standalone.properties文件:

bootstrap.servers=xxx.xxx.xxx.xxx:xxxx   #kafka地址

#我使用的json格式传输

key.converter=org.apache.kafka.connect.json.JsonConverter

#key.converter.schema.registry.url=http://localhost:8081

value.converter=org.apache.kafka.connect.json.JsonConverter 

#value.converter.schema.registry.url=http://localhost:8081

4、./bin/connect-standalone ./etc/schema-registry/connect-avro-standalone.properties ./etc/kafka-connect-jdbc/OracleSourceConnector.properties

然后去体验下oracle实时同步数据到kafka上,至于消费看自己的业务逻辑了。

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值