连接到 Confluent Kafka

了解如何创建与 Confluent Kafka 的连接(与 Confluent Schema Registry 连接一起使用),以用作 OCI GoldenGate 大数据部署中的源或目标。

开始之前

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

创建源连接

要创建源 Confluent Kafka 连接,请执行以下操作:
  1. OCI GoldenGate “概览”页中,单击连接
    您还可以单击“入门”部分下的创建连接,然后跳至步骤 3。
  2. 在“连接”页上,单击创建连接
  3. 在“Create Connection(创建连接)”页面上,按以下方式填写字段:
    1. 对于名称,输入连接名称。
    2. (可选)对于说明,输入可帮助您将此连接与其他连接区分开的说明。
    3. 对于区间,选择要在其中创建连接的区间。
    4. Type(类型)下拉列表中选择 Confluent Kafka(混合 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 通过纯文本,然后提供用户名和密码。
      • SASL 基于 SSL,然后根据需要提供“Username(用户名)”、“Password(密码)”以及“Truststore(信任库)”和“Keystore(密钥库)”值。
      • SSL,然后根据需要提供 Truststore 和 Keystore 值。
    7. 扩展显示高级选项。您可以配置以下选项:
      • 安全
        • 取消选择您不希望为此连接使用密码密钥的使用 Vault 密钥。如果未选择:
          • 选择使用 Oracle 托管的加密密钥可将所有加密密钥管理留给 Oracle。
          • 选择使用客户管理的加密密钥以选择存储在 OCI Vault 中的特定加密密钥来加密连接身份证明。
      • 网络连接
        • 共享端点,用于与分配的部署共享端点。您必须允许来自部署的入站 IP 的连接。
        • 专用端点,用于通过 VCN 中已分配子网中的专用端点进行网络流量。您必须允许来自此连接的入站 IP 的连接。

          注意:

          • 如果专用连接保持未分配状态七天,则服务会将它转换为共享连接。
          • 详细了解 Oracle GoldenGate 连接
      • 设置要从 Kafka 捕获,请使用以下反序列化器或转换器之一创建 Kafka 使用者属性文件:
        • 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. 单击创建
连接将显示在“连接”列表中,您可以在其中选择该连接以查看其详细信息。确保还创建与混合方案注册表的连接,然后将这两个连接分配给大数据部署。

创建目标连接

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

        注意:

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

        提示:

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

          注意:

          • 如果专用连接保持未分配状态七天,则服务会将它转换为共享连接。
          • 详细了解 Oracle GoldenGate 连接
      • 设置要在 Kafka 复制中使用 Snappy 压缩,请拖放或选择生成器属性,并更改复制设置,如使用 Compression OCI GoldenGate (Confluent) Kafka 复制中所述。
      • 标记:添加标记来组织资源。
  4. 单击创建
连接将显示在“连接”列表中,您可以在其中选择该连接以查看其详细信息。确保还创建与混合方案注册表的连接,然后将这两个连接分配给大数据部署。

使用专用链接创建与 Confluent Cloud 的连接

通过专用链接,您可以通过虚拟网络中存在的专用端点访问在第三方云上运行的 Confluent Cloud 集群。

创建连接之前,请确保执行以下操作:

  • 在 Oracle Cloud Infrastructure (OCI) 与目标第三方云之间创建专用网络连接。
  • 在 Confluent Cloud 中为专用链接添加网络配置时,请确保选择专用 DNS 解析。
  • 在配置 Confluent Cloud 和 OCI 的第三方云中配置 DNS 区域并设置 DNS 记录。在 OCI 中,您可以在 VCN 的专用视图中创建区域。在区域中,您可以添加所需的 DNS 记录。

可以使用上面的说明创建连接,但要代替步骤 5 和步骤 6,请执行以下操作:

  • 对于步骤 3e:
    • 提供引导服务器主机和端口详细信息。
    • 可以添加多个 Bootstrap 服务器。
  • 对于 3f:
    • 对于安全协议,选择 SASL over Plaintext
    • 输入用户名和口令。

排除 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 和第三方云上的网络设置。