连接到 Apache Kafka

了解如何创建与 Apache Kafka 的连接以用作 OCI GoldenGate 源或目标。

开始之前

在创建连接之前,请确保:

创建源连接

要创建源 Apache Kafka 连接,请执行以下操作:
  1. OCI GoldenGate “概览”页中,单击连接
    您还可以单击“入门”部分下的创建连接,然后跳至步骤 3。
  2. 在“连接”页上,单击创建连接
  3. 在“Create Connection(创建连接)”页面上,按以下方式填写字段:
    1. 对于名称,输入连接名称。
    2. (可选)对于说明,输入可帮助您将此连接与其他连接区分开的说明。
    3. 对于区间,选择要在其中创建连接的区间。
    4. 类型下拉列表中,选择 Apache Kafka
    5. 在 Bootstrap 服务器下:
      1. 输入引导服务器的 Host(主机)Port(端口)编号。仅当无法从您的子网解析主机名或该主机名使用 SSL/TLS 时,才输入专用 IP。

        注意:

        如果输入专用 IP,则 OCI GoldenGate 将以 ip-10-0-0-0.ociggsvc.oracle.vcn.com 格式重写专用 IP。

        提示:

        集群中的所有节点都必须具有 FQDN,才能通过专用端点进行遍历。
      2. (可选)单击 + Bootstrap server 以添加其他引导服务器。
    6. 对于安全协议,选择以下选项之一,然后填写相应的字段:
      • 明文
      • 基于纯文本的 SASL
      • 基于 SSL 的 SASL
      • SSL
    7. 扩展显示高级选项。您可以配置以下选项:
      • 安全
        • 取消选择您不希望为此连接使用密码密钥的使用 Vault 密钥。如果未选择:
          • 选择使用 Oracle 托管的加密密钥可将所有加密密钥管理留给 Oracle。
          • 选择使用客户管理的加密密钥以选择存储在 OCI Vault 中的特定加密密钥来加密连接身份证明。
      • 网络连接
        • 共享端点,用于与分配的部署共享端点。您必须允许来自部署的入站 IP 的连接。
        • 专用端点,用于通过 VCN 中已分配子网中的专用端点进行网络流量。您必须允许来自此连接的入站 IP 的连接。

          注意:

          • 如果专用连接保持未分配状态七天,则服务会将它转换为共享连接。
          • 详细了解 Oracle GoldenGate 连接
      • 设置
        • 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
      • 标记:添加标记以组织资源。
  4. 单击创建
创建连接后,它将显示在“Connections(连接)”列表中。确保将连接分配给部署以将其用作复制中的源或目标。

创建目标连接

要创建目标 Apache Kafka 连接,请执行以下操作:
  1. OCI GoldenGate “概览”页中,单击连接
    您还可以单击“入门”部分下的创建连接,然后跳至步骤 3。
  2. 在“连接”页上,单击创建连接
  3. 在“Create Connection(创建连接)”页面上,按以下方式填写字段:
    1. 对于名称,输入连接名称。
    2. (可选)对于说明,输入可帮助您将此连接与其他连接区分开的说明。
    3. 对于区间,选择要在其中创建连接的区间。
    4. 类型下拉列表中,选择 Apache Kafka
    5. 在 Bootstrap 服务器下:
      1. 输入引导服务器的 Host(主机)Port(端口)编号。仅当无法从您的子网解析主机名或该主机名使用 SSL/TLS 时,才输入专用 IP。

        注意:

        如果输入专用 IP,则 OCI GoldenGate 将以 ip-10-0-0-0.ociggsvc.oracle.vcn.com 格式重写专用 IP。

        提示:

        集群中的所有节点都必须具有 FQDN,才能通过专用端点进行遍历。
      2. (可选)单击 + Bootstrap server 以添加其他引导服务器。
    6. 对于安全协议,选择以下选项之一,然后填写相应的字段:
      • 明文
      • 基于纯文本的 SASL
      • 基于 SSL 的 SASL
      • SSL
    7. 扩展显示高级选项。您可以配置以下选项:
      • 安全
        • 取消选择您不希望为此连接使用密码密钥的使用 Vault 密钥。如果未选择:
          • 选择使用 Oracle 托管的加密密钥可将所有加密密钥管理留给 Oracle。
          • 选择使用客户管理的加密密钥以选择存储在 OCI Vault 中的特定加密密钥来加密连接身份证明。
      • 网络连接
        • 共享端点,用于与分配的部署共享端点。您必须允许来自部署的入站 IP 的连接。
        • 专用端点,用于通过 VCN 中已分配子网中的专用端点进行网络流量。您必须允许来自此连接的入站 IP 的连接。

          注意:

          • 如果专用连接保持未分配状态七天,则服务会将它转换为共享连接。
          • 详细了解 Oracle GoldenGate 连接
      • 设置要在 Kafka 复制中使用 Snappy 压缩,请拖放或选择生成器属性,并更改复制设置,如使用 Compression OCI GoldenGate (Confluent) Kafka 复制中所述。
      • 标记:添加标记以组织资源。
  4. 单击创建
创建连接后,它将显示在“Connections(连接)”列表中。确保将连接分配给部署以将其用作复制中的源或目标。

排除 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.

如果在复制报告文件中遇到此消息,您可以:

  • 确保存在目标主题,或者检查是否在目标 Kafka 设置中启用了自动创建主题。
  • 确保没有防火墙规则阻止流量。
  • 如果您使用专用端点在 OCI 上运行 Kafka,请确保在 server.properties 和 Kafka 连接中使用内部 FQDN 作为引导服务器。
  • 如果您要连接到具有专用端点的融合云:
    • 确保在 OCI 和目标第三方云中正确配置了 DNS 区域和 DNS 记录。
    • 确保 OCI 与目标云之间的网络连接正常工作。
    • 测试您是否可以通过 OpenSSL (openssl s_client -connect <bootstrap>) 从在连接到第三方云的同一子网中运行的 OCI VM 连接到目标 Confluent Cloud。
    • 测试您是否可以在连接到第三方云的同一子网中发布或使用基于 OCI 运行的 Kafka 客户端的消息。如果失败,请检查 OCI 和第三方云上的网络设置。