使用 Apache Kafka 連線至 OCI Streaming
瞭解如何使用 Apache Kafka 建立 OCI Streaming 連線,以作為 OCI GoldenGate 來源或目標。
開始之前
確保您:
-
設定必要的原則以啟用安全保存庫和加密密碼存取,例如使用加密密碼、使用保存庫及讀取加密密碼組合。如需詳細資訊,請參閱最低建議原則。
-
如果使用 TLS/ mTLS,請將 JKS 信任存放區或信任存放區和金鑰存放區轉換為
PKCS12格式,以用於連線中。-
使用 JDK 中的 keytool 公用程式可以轉換成 PKCS12 格式。
若為金鑰存放區,keytool 公用程式會提示您輸入密碼,如下列範例所示:
keytool -importkeystore -srckeystore [MY_KEYSTORE.jks] -destkeystore [MY_KEYSTORE.p12] -srcstoretype JKS -deststoretype PKCS12 -deststorepass [PASSWORD_PKCS12]對於信任存放區,keytool 公用程式會提示輸入密碼,如下列範例所示:
keytool -importkeystore -srckeystore [MY_TRUSTSTORE.jks] -destkeystore [MY_TRUSTSTORE.p12] -srcstoretype JKS -deststoretype PKCS12 -deststorepass [PASSWORD_PKCS12] -
轉換金鑰存放區和信任存放區之後,請新增下列行至 Kafka 產生器特性檔,然後儲存您的變更:
ssl.truststore.type=PKCS12 ssl.keystore.type=PKCS12 -
將檔案上傳至進階選項之設定值區段中的連線產生器特性。
-
使用 Apache Kafka 連線建立來源 OCI Streaming
若要使用 Apache Kafka 連線建立來源 OCI Streaming:
-
從 OCI GoldenGate 總覽頁面中,選取連線。
您也可以選取「開始使用」段落下的建立連線,然後跳至步驟 3。
-
在「連線」頁面上,選取建立連線。
-
在「建立連線」頁面上,依下列方式完成欄位:
-
若為名稱,請輸入連線的名稱。
-
(選用) 在描述中,輸入可協助您區分此連線與其他連線的描述。
-
(僅適用於 GoldenGate on Multicloud) 選取您的訂閱,然後填寫下列欄位。
-
從區間下拉式清單中,選取資源定錨點所在的區間。
-
選取多雲端合作夥伴區域。
-
選取您的合作夥伴可用性區域。可用的選項會根據選取的多雲端合作夥伴區域填入。
-
-
若為區間,請選取要在其中建立連線的區間。
-
若為類型,請從下拉式清單中選取 OCI Streaming with Apache Kafka。
-
若為啟動安裝伺服器:
-
輸入 Bootstrap 伺服器的主機和埠號碼。只有在無法從您的子網路解析主機名稱或使用 SSL/TLS 時,才輸入專用 IP。
注意:如果您輸入專用 IP,OCI GoldenGate 會以
ip-10-0-0-0.ociggsvc.oracle.vcn.com格式重寫專用 IP。提示:叢集中的所有節點都必須要有 FQDN 才能在專用端點上進行周遊。
-
(可選擇) 選取 + 啟動安裝伺服器以增加其他啟動安裝伺服器。
-
-
若為「安全」協定,請選取下列其中一項:
-
純文字
-
透過純文字的 SASL
-
透過 SSL 的 SASL
-
SSL
如需有關這些選項的詳細資訊,請參閱管理叢集安全性。
-
-
展開顯示進階選項 您可以設定以下選項:
-
安全
-
取消選取此連線不使用密碼加密密碼的使用保存庫加密密碼。如果未選取:
-
選取使用 Oracle 管理的加密金鑰,即可將所有加密金鑰管理保留給 Oracle。
-
選取使用客戶管理的加密金鑰,即可選取儲存在 OCI 保存庫中的特定加密金鑰,以加密您的連線證明資料。
-
-
-
網路連線
-
共用端點:與指派的部署共用端點。您必須允許來自部署傳入 IP 的連線。
-
專用端點:適用於透過您 VCN 中指定子網路之專用端點的網路流量。您必須允許來自此連線傳入 IP 的連線。
注意:
- 如果專用連線保留 7 天未指派,則服務會將它轉換成共用連線。
- 深入瞭解 Oracle GoldenGate 連線。
-
-
設定值
-
如果將此連線用於 Extract,請拖放或選取用戶或產生器特性檔案 (.properties)。
-
若要從 Kafka 擷取,請建立含有下列其中一個還原序列化程式或轉換器的 Kafka 用戶特性檔 (.properties):
-
JSON 還原序列器的 Kafka 用戶特性:
key.deserializer=org.apache.kafka.common.serialization.ByteArrayDeserializer value.deserializer=org.apache.kafka.common.serialization.ByteArrayDeserializer -
JSON 轉換器的 Kafka 用戶特性:
key.converter=org.apache.kafka.connect.json.JsonConverter value.converter=org.apache.kafka.connect.json.JsonConverter -
Avro 轉換器的 Kafka 用戶特性:
key.converter=io.confluent.connect.avro.AvroConverter value.converter=io.confluent.connect.avro.AvroConverter
-
-
-
安全屬性:使用零信任封包路由 (ZPR) 新增安全屬性以控制對此連線的存取。
-
標記:新增標記以組織您的資源。
-
-
-
選取建立。
建立連線之後,連線就會顯示在「連線」清單中。請確定您已將連線指定至部署,以將其用作來源複製。
使用 Apache Kafka 連線建立目標 OCI Streaming
若要使用 Apache Kafka 連線建立目標 OCI Streaming:
-
從 OCI GoldenGate 總覽頁面中,選取連線。
您也可以選取「開始使用」段落下的建立連線,然後跳至步驟 3。
-
在「連線」頁面上,選取建立連線。
-
在「建立連線」頁面上,依下列方式完成欄位:
-
若為名稱,請輸入連線的名稱。
-
(選用) 在描述中,輸入可協助您區分此連線與其他連線的描述。
-
(僅適用於 GoldenGate on Multicloud) 選取您的訂閱,然後填寫下列欄位。
-
從區間下拉式清單中,選取資源定錨點所在的區間。
-
選取多雲端合作夥伴區域。
-
選取您的合作夥伴可用性區域。可用的選項會根據選取的多雲端合作夥伴區域填入。
-
-
若為區間,請選取要在其中建立連線的區間。
-
若為類型,請從下拉式清單中選取 OCI Streaming with Apache Kafka。
-
若為啟動安裝伺服器:
-
輸入 Bootstrap 伺服器的主機和埠號碼。只有在無法從您的子網路解析主機名稱或使用 SSL/TLS 時,才輸入專用 IP。
注意:如果您輸入專用 IP,OCI GoldenGate 會以
ip-10-0-0-0.ociggsvc.oracle.vcn.com格式重寫專用 IP。提示:叢集中的所有節點都必須要有 FQDN 才能在專用端點上進行周遊。
-
(可選擇) 選取 + 啟動安裝伺服器以增加其他啟動安裝伺服器。
-
-
若為「安全」協定,請選取下列其中一項:
-
純文字
-
透過純文字的 SASL
-
透過 SSL 的 SASL
-
SSL
如需有關這些選項的詳細資訊,請參閱管理叢集安全性。
-
-
展開顯示進階選項 您可以設定以下選項:
-
安全
-
取消選取此連線不使用密碼加密密碼的使用保存庫加密密碼。如果未選取:
-
選取使用 Oracle 管理的加密金鑰,即可將所有加密金鑰管理保留給 Oracle。
-
選取使用客戶管理的加密金鑰,即可選取儲存在 OCI 保存庫中的特定加密金鑰,以加密您的連線證明資料。
-
-
-
網路連線
-
共用端點:與指派的部署共用端點。您必須允許來自部署傳入 IP 的連線。
-
專用端點:適用於透過您 VCN 中指定子網路之專用端點的網路流量。您必須允許來自此連線傳入 IP 的連線。
注意:
- 如果專用連線保留 7 天未指派,則服務會將它轉換成共用連線。
- 深入瞭解 Oracle GoldenGate 連線。
-
-
設定值:若要在 Kafka 複製中使用 Snappy 壓縮,請拖放或選取產生器特性,然後變更複製設定值,如使用壓縮 OCI GoldenGate (Confluent) Kafka 複製中所述。
-
安全屬性:使用零信任封包路由 (ZPR) 新增安全屬性以控制對此連線的存取。
-
標記:新增標記以組織您的資源。
-
-
-
選取建立。
建立連線之後,連線就會顯示在「連線」清單中。請確定您已指派連線至部署,以將其作為複製中的來源或目標。
接下來的步驟
Kafka 連線錯誤疑難排解
大多數的連線問題都會導致 TimeoutException 錯誤。舉例而言:
A failure occurred sending a message to Kafka to topic [ggstest] org.apache.kafka.common.errors.TimeoutException: Topic ggstest not present in metadata after 60000/120000 ms.
如果在 Replicat 報表檔案中遇到此訊息,您可以:
-
請確定目標主題存在,或檢查是否已在目標 Kafka 設定值內啟用自動建立主題。
-
確定沒有任何防火牆規則阻隔流量。
-
如果您在 OCI 上以專用端點執行 Kafka,請確定在 server.properties 和 Kafka 連線中使用內部 FQDN 作為啟動安裝伺服器。
-
如果您連線至具有專用端點的 Confluent Cloud:
-
確定在 OCI 和目標第三方雲端中正確設定 DNS 區域和 DNS 記錄。
-
確定 OCI 與目標雲端之間的網路連線正常運作。
-
測試您是否可以從在連線至第三方雲端的相同子網路中執行的 OCI VM,使用 OpenSSL (
openssl s_client -connect <bootstrap>) 連線至目標 Confluent Cloud。 -
測試您是否可以在連線至第三方雲端的相同子網路內,發布或使用 OCI 上執行之 Kafka 從屬端的訊息。如果失敗,請檢查 OCI 和第三方雲端上的網路設定值。
-