連線至 Apache Kafka

瞭解如何建立 Apache Kafka 連線,以作為 OCI GoldenGate 來源或目標。

開始之前

建立連線之前,請確定您:
  • 檢閱 OCI GoldenGate 如何連線至您的來源和目標

  • 設定必要的原則以啟用安全保存庫和加密密碼存取,例如使用加密密碼、使用保存庫及讀取加密密碼組合。如需詳細資訊,請參閱最低建議原則

  • 如果使用 TLS/ mTLS,請將 JKS 信任存放區或信任存放區和金鑰存放區轉換為 PKCS12 格式,以用於連線中。
    1. 使用 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]
    2. 轉換金鑰存放區和信任存放區之後,請將下列行新增至 Kafka 產生器特性檔,然後儲存您的變更:
      ssl.truststore.type=PKCS12
      ssl.keystore.type=PKCS12
    3. 將檔案上傳至進階選項設定值區段中的連線產生器特性

建立來源連線

若要建立來源 Apache Kafka 連線,請執行下列動作:
  1. OCI GoldenGate 總覽頁面,按一下連線
    您也可以按一下「開始使用」區段底下的建立連線,然後跳至步驟 3。
  2. 在「連線」頁面上,按一下建立連線
  3. 在「建立連線」頁面中,完成下列欄位:
    1. 對於名稱,請輸入連線的名稱。
    2. (選擇性) 在描述中,輸入可協助您區分此連線與其他連線的描述。
    3. (僅限 GoldenGate on Multicloud) 選取您的訂閱,然後完成下列欄位。
      1. 區間下拉式清單中,選取資源定錨點所在的區間。
      2. 選取多雲端合作夥伴區域
      3. 選取您的合作夥伴可用性區域。可用的選項會根據選取的多雲端合作夥伴區域填入。
    4. 若為區間,請選取要在其中建立連線的區間。
    5. 類型下拉式清單中,選取 Apache Kafka
    6. 在「啟動安裝伺服器」底下:
      1. 輸入 Bootstrap 伺服器的主機連接埠編號。若無法從您的子網路解析主機名稱,或其使用 SSL/TLS,請輸入專用 IP。

        附註:

        如果您輸入專用 IP,OCI GoldenGate 會以 ip-10-0-0-0.ociggsvc.oracle.vcn.com 格式重寫專用 IP。

        秘訣:

        叢集中的所有節點都必須要有 FQDN,才能夠透過專用端點進行周遊。
      2. (選擇性) 按一下 + 啟動安裝伺服器,即可新增其他啟動安裝伺服器。
    7. 對於安全性通訊協定,請選取下列其中一項,然後完成對應的欄位:
      • 純文字
      • 透過純文字的 SASL
      • 透過 SSL 的 SASL
      • SSL
    8. 展開顯示進階選項。您可以設定以下選項:
      • 安全
        • 取消選取此連線不使用密碼加密密碼的使用保存庫加密密碼。如果未選取:
          • 選取使用 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) 新增安全屬性以控制對此連線的存取。
      • 標記:新增標記即可組織您的資源。
  4. 按一下建立
建立連線之後,連線就會顯示在「連線」清單中。請確定將連線指定給部署,以將其作為複製中的來源或目標使用。

建立目標連線

若要建立目標 Apache Kafka 連線,請執行下列動作:
  1. OCI GoldenGate 總覽頁面,按一下連線
    您也可以按一下「開始使用」區段底下的建立連線,然後跳至步驟 3。
  2. 在「連線」頁面上,按一下建立連線
  3. 在「建立連線」頁面中,完成下列欄位:
    1. 對於名稱,請輸入連線的名稱。
    2. (選擇性) 在描述中,輸入可協助您區分此連線與其他連線的描述。
    3. (僅限 GoldenGate on Multicloud) 選取您的訂閱,然後完成下列欄位。
      1. 區間下拉式清單中,選取資源定錨點所在的區間。
      2. 選取多雲端合作夥伴區域
      3. 選取您的合作夥伴可用性區域。可用的選項會根據選取的多雲端合作夥伴區域填入。
    4. 若為區間,請選取要在其中建立連線的區間。
    5. 類型下拉式清單中,選取 Apache Kafka
    6. 在「啟動安裝伺服器」底下:
      1. 輸入 Bootstrap 伺服器的主機連接埠編號。若無法從您的子網路解析主機名稱,或其使用 SSL/TLS,請輸入專用 IP。

        附註:

        如果您輸入專用 IP,OCI GoldenGate 會以 ip-10-0-0-0.ociggsvc.oracle.vcn.com 格式重寫專用 IP。

        秘訣:

        叢集中的所有節點都必須要有 FQDN,才能夠透過專用端點進行周遊。
      2. (選擇性) 按一下 + 啟動安裝伺服器,即可新增其他啟動安裝伺服器。
    7. 對於安全性通訊協定,請選取下列其中一項,然後完成對應的欄位:
      • 純文字
      • 透過純文字的 SASL
      • 透過 SSL 的 SASL
      • SSL
    8. 展開顯示進階選項。您可以設定以下選項:
      • 安全
        • 取消選取此連線不使用密碼加密密碼的使用保存庫加密密碼。如果未選取:
          • 選取使用 Oracle 管理的加密金鑰即可將所有加密金鑰管理保留給 Oracle。
          • 選取使用客戶管理的加密金鑰,以選取儲存在 OCI 保存庫中的特定加密金鑰,以加密您的連線證明資料。
      • 網路連線
        • 共用端點:與指派的建置共用端點。您必須允許從部署的傳入 IP 連線。
        • 專用端點,適用於透過 VCN 中指定子網路內之專用端點的網路流量。您必須允許從此連線的傳入 IP 進行連線。

          附註:

          • 如果專用連線持續 7 天未指派,則服務會將其轉換為共用連線。
          • 深入瞭解 Oracle GoldenGate 連線
      • 設定值若要在 Kafka 複製中使用 Snappy 壓縮,請拖放或選取產生器特性,然後變更複製設定值,如使用壓縮 OCI GoldenGate (影響) Kafka 複製中所述。
      • 安全屬性:使用零信任封包路由 (ZPR) 新增安全屬性以控制對此連線的存取。
      • 標記:新增標記即可組織您的資源。
  4. 按一下建立
建立連線之後,連線就會顯示在「連線」清單中。請確定將連線指定給部署,以將其作為複製中的來源或目標使用。

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,請確定使用內部 FQDN 作為 server.properties 和 Kafka 連線中的啟動安裝伺服器。
  • 如果您使用專用端點連線至 Confluent Cloud:
    • 確定在 OCI 和目標第三方雲端中正確設定 DNS 區域和 DNS 記錄。
    • 確保 OCI 與目標雲端之間的網路連線正常運作。
    • 測試是否可以從在連線至第三方雲端的相同子網路中執行的 OCI VM,使用 OpenSSL (openssl s_client -connect <bootstrap>) 連線至目標 Confluent Cloud。
    • 測試是否可以在連線至第三方雲端的相同子網路內,發布或使用在 OCI 上執行之 Kafka 從屬端的訊息。如果失敗,請檢查 OCI 和第三方雲端上的網路設定值。