连接到 Apache Kafka
开始之前
在创建连接之前,请确保:
-
配置所需的策略以启用安全 Vault 和密钥访问,例如使用密钥、使用 Vault 和读取密钥包。有关详细信息,请参阅建议的最低策略。
-
如果使用 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 - 将文件上载到连接高级选项的设置部分中的生成器属性。
-
排除 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 和第三方云上的网络设置。