日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

debezium集成Oralce攻略(上)

發(fā)布時(shí)間:2024/3/13 编程问答 70 豆豆
生活随笔 收集整理的這篇文章主要介紹了 debezium集成Oralce攻略(上) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本期我們做一個(gè)debezium集成oralce的步驟,比較全,因?yàn)楸救嗽谶@段時(shí)間內(nèi)也踩了不少的坑,如果你有幸看到了這篇文章,就不需要繞彎路了,直接完成debezium監(jiān)控oralce的全步驟,全部按照官方文檔來(lái)的。
了解這篇文檔之前,你必須了解什么是debezium以及debezium是干嘛的。

首先講解一下需要用到的所有中間件。
注冊(cè)中心zookeeper
消息中間件kafka
連接器kafka connect
數(shù)據(jù)庫(kù)oracle

我采用的是分布式部署,因?yàn)閿?shù)據(jù)庫(kù)可以跟監(jiān)控的組件完全分離,不會(huì)有任何影響。
oralce的設(shè)置必須遵循XStream API的規(guī)范,因?yàn)閐ebezium是依據(jù)這個(gè)對(duì)oralce進(jìn)行監(jiān)控的。

首先我們來(lái)安裝oralce,登錄安裝oralce的liunx服務(wù)器,如果你是windows或者mac安裝的oralce服務(wù)器,那你必須把oralce放到liunx虛擬機(jī)里面運(yùn)行。

安裝oracle之前,你必須讓你的liunx服務(wù)器擁有以下功能。
1.能夠運(yùn)行docker指令,因?yàn)橐韵潞芏嗖襟E都是在docker環(huán)境下完成的,還必須安裝docker-compose。
2.必須能夠運(yùn)行rz -y指令,因?yàn)檫@個(gè)是要上傳oralce的安裝包。
3.必須安裝git,因?yàn)槿缦陆坛绦枰玫絞it指令。

好,繼續(xù)教程。
按照debezium的官方教程,你必須先把他們的git文檔down下來(lái)。

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

把這個(gè)文件down下來(lái)之后,你就可以看到一系列文件夾了。接下來(lái)按照官方文檔你繼續(xù)運(yùn)行下一條命令。

cd docker-images/OracleDatabase/SingleInstance/dockerfiles

這個(gè)命令的意思是進(jìn)入到他們的dockerfiles文件夾下面方便他們安裝oracle。
接下來(lái)運(yùn)行下一條命令

cp /vagrant_data/linuxx64_12201_database.zip 12.2.0.1

這個(gè)就是第一個(gè)坑了,命令的意思是把你的/vagrant_data/文件夾下面的這個(gè)zip文件復(fù)制到他的那個(gè)目錄下面。官方文檔只說(shuō)了,你要下載下來(lái)oralce,怎么下載,下載什么版本,他們不管,并且你下載的oracle還必須是他的那個(gè)名字,才能運(yùn)行這個(gè)命令。
好吧,我在百度搜了半天這個(gè)文件zip,終于在一個(gè)百度網(wǎng)盤(pán)里找到了,是一個(gè)oralce12c的版本,如果你下載其他版本我估計(jì)也是可以的。你只需要在cp的時(shí)候改掉名字就行了吧。。。。

點(diǎn)擊這里前往下載地址
這是我找到的一個(gè)官方的下載地址,當(dāng)然你們要百度搜也可以,名字對(duì)上就行,畢竟按照官方文檔來(lái),不會(huì)錯(cuò)。
下載好了之后執(zhí)行的命令

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

這個(gè)意思就是創(chuàng)建這個(gè)一個(gè)文件夾,把你下載好的zip文件上傳到這個(gè)目錄下面,方便執(zhí)行后續(xù)的操作。
這個(gè)步驟應(yīng)該放在最前面,因?yàn)槿绻麤](méi)有這個(gè),你運(yùn)行上面的cp是肯定會(huì)報(bào)錯(cuò)的,會(huì)說(shuō)你沒(méi)有這個(gè)zip的這個(gè)錯(cuò)誤。
(所以這個(gè)是前置條件)

執(zhí)行完上述步驟后,我們回到上面的那個(gè)目錄。
(假設(shè)你git他們文檔的目錄是~,跟我一樣。)

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

那么這次cp就可以成功了。
接下來(lái)執(zhí)行下面的命令。

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

這個(gè)命令應(yīng)該是解壓oralce,安裝之類(lèi)的吧。反正一頓操作之后oracle安裝好了。
接下來(lái)按照官方文檔,你需要?jiǎng)?chuàng)建一些目錄。

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

接下來(lái)你需要用docker把oralce運(yùn)行起來(lái)。

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已經(jīng)啟動(dòng)了,并且在docker容器里叫 dbz_oracle。
不信你可以運(yùn)行

docker ps

應(yīng)該能看到oralce在運(yùn)行了。
這時(shí)你還在git的這個(gè)目錄下面。

運(yùn)行起來(lái)之后還不行,因?yàn)槟氵€沒(méi)有根據(jù)oralce的Xstream API執(zhí)行一些必要的授權(quán)操作,也沒(méi)有創(chuàng)建用戶(hù)等等。
接下來(lái)我們下載debezium的另一個(gè)官方文檔。
先回到主目錄。再git。

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

接下來(lái)進(jìn)入這個(gè)目錄。

cd oracle-vagrant-box ls

這時(shí)你應(yīng)該能看到有一個(gè)名字叫 setup.sh 的腳本文件。沒(méi)錯(cuò),這個(gè)就是官方給咱們寫(xiě)好的文檔。直接運(yùn)行就行了。

cat setup.sh | docker exec -i dbz_oracle bash

接下來(lái)我們只需要運(yùn)行這個(gè)腳本,就可以開(kāi)放權(quán)限,也可以在navicat上面登錄了。
至于這個(gè)腳本里到底有什么,可以看debezium的官方文檔的oralce連接器這一塊,也可以參照下面的鏈接進(jìn)去看。
https://github.com/debezium/oracle-vagrant-box/

如果你的navicat還是不能登錄oralce,你可以參照百度解決一下報(bào)錯(cuò)。有可能是你的liunx的防火墻沒(méi)有關(guān),也可能是阿里云沒(méi)有給你開(kāi)放端口權(quán)限,端口是1521,去阿里云的安全組里面開(kāi)放這個(gè)權(quán)限就可以登錄了。

navicat可以用好幾種方法連接上oralce,用戶(hù)名和服務(wù)名都不相同,你可以參照那個(gè)腳本的內(nèi)容去嘗試。

接下來(lái)我們?nèi)ゼ右稽c(diǎn)測(cè)試數(shù)據(jù)進(jìn)去。

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

把這個(gè)debezium的官方文檔down下來(lái),然后進(jìn)入到他們的文件里面。

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

這個(gè)代碼的意思就是執(zhí)行dbz官方寫(xiě)好的sql,登錄oralce,就是幫你創(chuàng)建了一些表,在幫你插入了一些數(shù)據(jù),你可以自己去sql里面看看有什么,完成了之后可以自己去navicat看下插入有沒(méi)有成功。

下面是debezium自己寫(xiě)的說(shuō)明,看下官方文檔教你的步驟。

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

這就是debezium集成oracle的步驟的上部分,安裝oracle。下一篇記錄安裝的下部分。各位有疑問(wèn)和踩坑的留言在下方,我知道的都會(huì)給你們解答。

總結(jié)

以上是生活随笔為你收集整理的debezium集成Oralce攻略(上)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。