第 15 章 连接到 Kafka
Apache Kafka 是一个分布式流平台,可用于获取和发布数据。在集成中,您可以从您指定的 Kafka 主题订阅数据,或将数据发布到您指定的 Kafka 主题。要做到这一点,创建一个到 Kafka 的连接,并将该连接添加到集成流中。详情包括在以下主题中:
15.1. 创建到 Kafka 代理的连接 复制链接链接已复制到粘贴板!
在集成中,若要从 Kafka 主题订阅数据或将数据发布到 Kafka 主题,请创建一个到 Kafka 的连接,然后将该连接添加到集成。
先决条件
- 您已创建了 Kafka 实例,创建一个服务帐户并设置 Kafka 主题,如 开始使用 Red Hat OpenShift Streams for Apache Kafka 所述。您知道服务帐户的客户端 ID 和客户端 Secret。
您知道 Kafka 实例的 Bootstrap 服务器 URI。获取 Bootstrap 服务器 URI:
- 登录到 Red Hat Managed Services web 控制台。
- 在 web 控制台的 Kafka Instances 页面中,对于您要连接到的相关 Kafka 实例,选择选项图标(三个垂直点),然后点 Connection 来查看 Bootstrap 服务器 URI。
- 对于 PLAIN SSL 机制,您知道用户名和密码。
- 如果要使用传输层安全(TLS)加密数据,则具有 Kafka 代理的 PEM 证书文本。通常,您可以从 Kafka 服务器管理员获取代理证书文本。
步骤
- 在 Fuse Online 中,在左侧面板中,单击 Connections 以显示任何可用连接。
- 点 Create Connection 以显示连接器。
- 点 Kafka Message Broker 连接器。
在 Kafka 代理 URIs 字段中,输入或选择您希望此连接访问的代理,或者输入以逗号分隔的 Kafka 代理 URI 列表。每个 URI 的格式应为
host:port。对于 Red Hat Managed Kafka,输入您的受管 Kafka 实例的 Bootstrap 服务器 URI。请注意,如果您在 OpenShift 集群上安装 Strimzi Operator 或 AMQ Streams Operator,则 URI 会被自动发现,并可以选择它。
对于 Security Protocol 字段,请选择以下选项之一:
- 如果要加密数据以便在传输中保护数据,请选择 TLS (传输层安全)。跳至第 7 步。
- 如果要使用 SASL 进行身份验证并使用 SSL 加密数据(例如,使用 Red Hat Managed Kafka),请选择 SASL_SSL。
- 如果您不想加密您的数据,请选择 Plain,然后跳至第 8 步。
如果您选择了 SASL_SSL 作为安全协议,则需要在两个选项之间进行选择来设置凭证:
- 如果要使用 PLAIN 作为 SASL 机制,您必须设置 Username 和 Password 字段。
如果要使用 OAUTHBEARER 作为 SASL 机制,您必须设置以下字段:
- 使用 OAuth 客户端 Id 的用户名。
- 使用 OAUth 客户端 Secret 的密码。
SASL Login Callback Handler Class,您可以使用 Strimzi 项目中的 kafka-clients 2.5 版本或 kafka-oauth-client 的任何回调处理器类。要连接到 Red Hat Managed Kafka,您可以使用:
io.strimzi.kafka.oauth.client.JaasClientOauthLoginCallbackHandler-
带有 由您的供应商提供的
/oauth/token端点 URI 的 OAuth 令牌端点 URI。
- 如果您在 Step 5 中选择了 TLS,然后在 Broker 证书 字段中粘贴 Kafka 代理的 PEM 证书文本。
可选的。点 Add a custom 属性来指定
key:value对,以配置 Kafka producer 和 consumer 选项。例如,如果要使用新集成来消耗来自主题的旧消息,请将
auto.offset.reset值从默认值(latest)改为earliest,为 Value 字段输入 auto.offset.reset,并在 Value 字段显示 earliest。有关 Kafka producer 配置选项的详情,请访问 https://kafka.apache.org/documentation/#producerconfigs
有关 Kafka 消费者配置选项的详情,请参考 https://kafka.apache.org/documentation/#consumerconfigs
注: 如果您添加配置属性,Fuse Online 不会在下一步中将它们包含在验证过程中。
- 单击 Validate。Fuse Online 立即尝试验证连接并显示一条消息,指示验证是否成功。如果验证失败,请重新发布输入参数并重试。
- 如果验证成功,请单击 Next。
- 在 Name 字段中输入您选择的名称,可帮助您将这个连接与任何其他连接区分开来。例如,您可以键入 Kafka Test。
- 在 Description 字段中,输入有助于了解此连接的任何信息。
- 点 Save 查看您创建的连接现在可用。如果您输入了示例名称,您会看到 Kafka Test 显示为可添加到集成的连接。