kafka 实时 同步 oracle (kafa-connect-oracle)

1.登陆Oracle 

lsnrctl status 查看监听
lsnrctl start 开启监听

[oracle@172~]sqlplus sys/password as sysdba 

SQL>shutdown immediate

SQL>startup mount

SQL>alter database archivelog;

SQL>alter database open;

SQL>alter database add supplemental log data (all) columns;

:alter database archivelog; 开启归档日志

alter database noarchivelog; 关闭 归档日志

alter database add supplemental log data (all) columns 是指启用补充日志记录。

为了成功执行连接器,必须以特权Oracle用户启动连接器。如果给定用户具有DBA角色,则可以跳过此步骤,否则将执行以下脚本来创建特权用户。

1.用有dba权限的用户登录:sys用户

2.创建一个新用户:create user abc identified by 123456;

3.授予DBA权限: grant connect,resource,dba to abc;

ok,创建好了,就可以用abc这个用户登录了,abc用户拥有dba权限。

select * from dba_users; 查看数据库里面所有用户,前提是你是有dba权限的帐号,如sys,system
select * from all_users; 查看你能管理的所有用户!
select * from user_users; 查看当前用户信息 !

创建测试表

create table on_log(ip varchar(19) , time varchar(20),user_id varchar(15),province varchar(16),phone_type varchar(20),machine_type varchar(4));

插入语句

INSERT INTO on_log values ('193.34.32.2','2019-03-05 12:12:09','001','河南省','pc','p') ;

INSERT INTO on_log values ('193.34.32.23','2019-03-05 12:12:09','001','河南省','pc','P') ;

2.启动zookeeper kafka

后台运行

nohup ./zookeeper-server-start.sh ../config/zookeeper.properties >> zook.log &

nohup ./kafka-server-start.sh ../config/server.properties  >> kafka.log &

3.添加相关组件

1)、从https://github.com/erdemcer/kafka-connect-oracle下载整个项目,把整个项目mvn clean package成kafa-connect-oracle-1.0.jar。

2)、下载一个oracle的jdbc驱动jar—ojdbc7.jar

3)、将kafa-connect-oracle-1.0.jar and ojdbc7.jar放在kafka的安装包下的lib目录下,

4)、将github项目里面的config/OracleSourceConnector.properties文件拷贝到kafak/config

4.修改配置文件

配置kafka的config/connect-standalone.properties文件

bootstrap.servers=node1IP:9092,node2IP:9092
key.converter=org.apache.kafka.connect.json.JsonConverter
value.converter=org.apache.kafka.connect.json.JsonConverter
key.converter.schemas.enable=true
value.converter.schemas.enable=true
internal.key.converter=org.apache.kafka.connect.json.JsonConverter
internal.value.converter=org.apache.kafka.connect.json.JsonConverter
internal.key.converter.schemas.enable=false
internal.value.converter.schemas.enable=false
offset.storage.file.filename=/tmp/connect.offset
offset.flush.interval.ms=10000

OracleSourceConnector.properties中配置

name=oracle-logminer-connector
connector.class=com.ecer.kafka.connect.oracle.OracleSourceConnector
db.name.alias=test
tasks.max=1
topic=user
db.name=orcl
db.hostname=hostname
db.port=1521
db.user=abc
db.user.password=123456
db.fetch.size=1 # 如果数据量比较大,可以增大(存在问题,达到你的设定值才做一次同步)
table.whitelist=ABC.*
table.blacklist=TEST2.TABLE3
parse.dml.data=false
reset.offset=false
multitenant=false

创建topic

./kafka-topics.sh --create --zookeeper guassdb-01:2181 --replication-factor 1 --partitions 2 --topic user

5.运行connector

nohup ./connect-standalone.sh  ../config/connect-standalone.properties ../config/oracleSourceConnector.properties  >> kafka-conn-oracle.log &

运行消费者即可看到已经到kafka中的数据

./kafka-console-consumer.sh --zookeeper guassdb-01:2181 --from-beginning --topic user

6.注意点

使用的kafka版本 kafka_2.12-0.10.2.0  

../bin下(里边已经有了zookeeper ,可以不需要单独安装)

../config下

Kafka的server.propertes

broker.id=0 (集群时  每个节点值不一样)

listeners=PLAINTEXT://10.199.100.210:9092

zookeeper.connect=10.199.100.210:2181

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
kafka-connect-transform-kryptonite 是 Kafka Connect 的一个转换器插件。Kafka Connect 是一个可扩展的分布式数据集成工具,可用于在 Apache Kafka 和外部系统之间进行可靠和高效的数据流传输。而 Kafka Connect 转换器是用于对数据进行转换、过滤或处理的插件。 Kafka Connect 是一个开源的分布式数据集成框架,用于连接和处理来自各种数据源的数据,例如数据库、消息队列和文件系统等。它提供了一个统一的、可扩展的架构,允许用户将数据从多个来源导入到 Kafka 中,并将数据导出到多个目标系统。这为数据集成提供了更加灵活和可靠的方式,且能够满足各种实时数据处理的需求。 Kafka Connect 的一个关键特性是插件化的架构,使得用户可以根据自己的需求,选择和配置合适的插件。其中,kafka-connect-transform-kryptonite 插件就是其中之一。Kryptonite 可以理解为一种“解除”或“削弱”转换器,它可能采用一些特定的规则或算法,对输入的数据进行加工、转换或过滤。 使用 kafka-connect-transform-kryptonite 插件,我们可以根据具体的业务需求,对 Kafka 中的消息进行处理。例如,我们可以通过 Kryptonite 转换器,将消息中的某些字段进行加密,以保护敏感数据的安全;或者根据一些规则,对消息进行过滤和筛选,只保留我们关心的数据。 总之,kafka-connect-transform-kryptonite 是 Kafka Connect 提供的一个转换器插件,可以用于对数据进行加工、转换和过滤。通过这个插件,我们可以根据业务需求对 Kafka 中的消息进行定制化处理,以满足不同场景下的数据集成和处理需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值