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下來。
把這個文件down下來之后,你就可以看到一系列文件夾了。接下來按照官方文檔你繼續運行下一條命令。
cd docker-images/OracleDatabase/SingleInstance/dockerfiles這個命令的意思是進入到他們的dockerfiles文件夾下面方便他們安裝oracle。
接下來運行下一條命令
這個就是第一個坑了,命令的意思是把你的/vagrant_data/文件夾下面的這個zip文件復制到他的那個目錄下面。官方文檔只說了,你要下載下來oralce,怎么下載,下載什么版本,他們不管,并且你下載的oracle還必須是他的那個名字,才能運行這個命令。
好吧,我在百度搜了半天這個文件zip,終于在一個百度網盤里找到了,是一個oralce12c的版本,如果你下載其他版本我估計也是可以的。你只需要在cp的時候改掉名字就行了吧。。。。
點擊這里前往下載地址
這是我找到的一個官方的下載地址,當然你們要百度搜也可以,名字對上就行,畢竟按照官方文檔來,不會錯。
下載好了之后執行的命令
這個意思就是創建這個一個文件夾,把你下載好的zip文件上傳到這個目錄下面,方便執行后續的操作。
這個步驟應該放在最前面,因為如果沒有這個,你運行上面的cp是肯定會報錯的,會說你沒有這個zip的這個錯誤。
(所以這個是前置條件)
執行完上述步驟后,我們回到上面的那個目錄。
(假設你git他們文檔的目錄是~,跟我一樣。)
那么這次cp就可以成功了。
接下來執行下面的命令。
這個命令應該是解壓oralce,安裝之類的吧。反正一頓操作之后oracle安裝好了。
接下來按照官方文檔,你需要創建一些目錄。
接下來你需要用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。
不信你可以運行
應該能看到oralce在運行了。
這時你還在git的這個目錄下面。
運行起來之后還不行,因為你還沒有根據oralce的Xstream API執行一些必要的授權操作,也沒有創建用戶等等。
接下來我們下載debezium的另一個官方文檔。
先回到主目錄。再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可以用好幾種方法連接上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。下一篇記錄安裝的下部分。各位有疑問和踩坑的留言在下方,我知道的都會給你們解答。
總結
以上是生活随笔為你收集整理的debezium集成Oralce攻略(上)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文阅读笔记《Few-Shot Lear
- 下一篇: 【Redis学习】:string数据类型