debezium集成Oralce攻略(上)

本期我们做一个debezium集成oralce的步骤,比较全,因为本人在这段时间内也踩了不少的坑,如果你有幸看到了这篇文章,就不需要绕弯路了,直接完成debezium监控oralce的全步骤,全部按照官方文档来的。
了解这篇文档之前,你必须了解什么是debezium以及debezium是干嘛的。

首先讲解一下需要用到的所有中间件。
注册中心zookeeper
消息中间件kafka
连接器kafka connect
数据库oracle

我采用的是分布式部署,因为数据库可以跟监控的组件完全分离,不会有任何影响。
oralce的设置必须遵循XStream API的规范,因为debezium是依据这个对oralce进行监控的。

首先我们来安装oralce,登录安装oralce的liunx服务器,如果你是windows或者mac安装的oralce服务器,那你必须把oralce放到liunx虚拟机里面运行。

安装oracle之前,你必须让你的liunx服务器拥有以下功能。
1.能够运行docker指令,因为以下很多步骤都是在docker环境下完成的,还必须安装docker-compose。
2.必须能够运行rz -y指令,因为这个是要上传oralce的安装包。
3.必须安装git,因为如下教程需要用到git指令。

好,继续教程。
按照debezium的官方教程,你必须先把他们的git文档down下来。

cd ~
git clone https://github.com/oracle/docker-images.git

把这个文件down下来之后,你就可以看到一系列文件夹了。接下来按照官方文档你继续运行下一条命令。

cd docker-images/OracleDatabase/SingleInstance/dockerfiles

这个命令的意思是进入到他们的dockerfiles文件夹下面方便他们安装oracle。
接下来运行下一条命令

cp /vagrant_data/linuxx64_12201_database.zip 12.2.0.1

这个就是第一个坑了,命令的意思是把你的/vagrant_data/文件夹下面的这个zip文件复制到他的那个目录下面。官方文档只说了,你要下载下来oralce,怎么下载,下载什么版本,他们不管,并且你下载的oracle还必须是他的那个名字,才能运行这个命令。
好吧,我在百度搜了半天这个文件zip,终于在一个百度网盘里找到了,是一个oralce12c的版本,如果你下载其他版本我估计也是可以的。你只需要在cp的时候改掉名字就行了吧。。。。

点击这里前往下载地址
这是我找到的一个官方的下载地址,当然你们要百度搜也可以,名字对上就行,毕竟按照官方文档来,不会错。
下载好了之后执行的命令

mkdir -p /vagrant_data/
cd /vagrant_data/
rz -y

这个意思就是创建这个一个文件夹,把你下载好的zip文件上传到这个目录下面,方便执行后续的操作。
这个步骤应该放在最前面,因为如果没有这个,你运行上面的cp是肯定会报错的,会说你没有这个zip的这个错误。
(所以这个是前置条件)

执行完上述步骤后,我们回到上面的那个目录。
(假设你git他们文档的目录是~,跟我一样。)

cd ~/docker-images/OracleDatabase/SingleInstance/dockerfiles
cp /vagrant_data/linuxx64_12201_database.zip 12.2.0.1

那么这次cp就可以成功了。
接下来执行下面的命令。

./buildDockerImage.sh -v 12.2.0.1 -i -e

这个命令应该是解压oralce,安装之类的吧。反正一顿操作之后oracle安装好了。
接下来按照官方文档,你需要创建一些目录。

mkdir -p /home/vagrant/oradata/recovery_area
sudo chgrp 54321 /home/vagrant/oradata
sudo chown 54321 /home/vagrant/oradata
sudo chgrp 54321 /home/vagrant/oradata/recovery_area
sudo chown 54321 /home/vagrant/oradata/recovery_area

接下来你需要用docker把oralce运行起来。

docker run --name dbz_oracle -p 1521:1521 -e ORACLE_PWD=top_secret -v /home/vagrant/oradata/:/opt/oracle/oradata oracle/database:12.2.0.1-ee

到这一步你的oralce已经启动了,并且在docker容器里叫 dbz_oracle。
不信你可以运行

docker ps

应该能看到oralce在运行了。
这时你还在git的这个目录下面。

运行起来之后还不行,因为你还没有根据oralce的Xstream API执行一些必要的授权操作,也没有创建用户等等。
接下来我们下载debezium的另一个官方文档。
先回到主目录。再git。

cd ~
git clone https://github.com/debezium/oracle-vagrant-box.git

接下来进入这个目录。

cd oracle-vagrant-box
ls

这时你应该能看到有一个名字叫 setup.sh 的脚本文件。没错,这个就是官方给咱们写好的文档。直接运行就行了。

cat setup.sh | docker exec -i dbz_oracle bash

接下来我们只需要运行这个脚本,就可以开放权限,也可以在navicat上面登录了。
至于这个脚本里到底有什么,可以看debezium的官方文档的oralce连接器这一块,也可以参照下面的链接进去看。
https://github.com/debezium/oracle-vagrant-box/

如果你的navicat还是不能登录oralce,你可以参照百度解决一下报错。有可能是你的liunx的防火墙没有关,也可能是阿里云没有给你开放端口权限,端口是1521,去阿里云的安全组里面开放这个权限就可以登录了。
navicat连接参数
navicat可以用好几种方法连接上oralce,用户名和服务名都不相同,你可以参照那个脚本的内容去尝试。

接下来我们去加一点测试数据进去。

cd ~
git clone https://github.com/debezium/debezium-examples.git

把这个debezium的官方文档down下来,然后进入到他们的文件里面。

cd debezium-examples/tutorial/
cat debezium-with-oracle-jdbc/init/inventory.sql | docker exec -i dbz_oracle sqlplus debezium/dbz@//localhost:1521/ORCLPDB1

这个代码的意思就是执行dbz官方写好的sql,登录oralce,就是帮你创建了一些表,在帮你插入了一些数据,你可以自己去sql里面看看有什么,完成了之后可以自己去navicat看下插入有没有成功。

下面是debezium自己写的说明,看下官方文档教你的步骤。

https://github.com/debezium/debezium-examples/tree/master/tutorial#using-oracle

这就是debezium集成oracle的步骤的上部分,安装oracle。下一篇记录安装的下部分。各位有疑问和踩坑的留言在下方,我知道的都会给你们解答。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值