跳到主要内容
跳到主要内容

将 Confluent 平台与 ClickHouse 集成

先决条件

我们假设您熟悉:

ClickHouse 与 Confluent 平台的官方 Kafka 连接器

在 Confluent 平台上安装

这是一份快速指南,帮助您开始使用 Confluent 平台上的 ClickHouse Sink 连接器。 有关更多详细信息,请参阅 官方 Confluent 文档

创建主题

在 Confluent 平台上创建主题非常简单,这里有详细的说明 在此

注意事项

  • Kafka 主题名称必须与 ClickHouse 表名称相同。调整此设置的方法是使用转换器(例如 ExtractTopic)。
  • 更多的分区不一定意味着更好的性能 - 请查看我们即将发布的指南以获取更多详细信息和性能提示。

安装连接器

您可以从我们的 代码库 下载连接器 - 也欢迎您在那儿提交评论和问题!

导航到 "连接器插件" -> "添加插件",使用以下设置:

'Connector Class' - 'com.clickhouse.kafka.connect.ClickHouseSinkConnector'
'Connector type' - Sink
'Sensitive properties' - 'password'. This will ensure entries of the ClickHouse password are masked during configuration.

示例:

Confluent Platform UI showing settings for adding a custom ClickHouse connector

收集连接详细信息

要通过 HTTP(S) 连接到 ClickHouse,您需要以下信息:

  • 主机端口:通常,当使用 TLS 时端口为 8443,当不使用 TLS 时端口为 8123。

  • 数据库名称:开箱即用时,有一个名为 default 的数据库,请使用您要连接的数据库名称。

  • 用户名密码:开箱即用时,用户名为 default。请使用适合您用例的用户名。

您的 ClickHouse Cloud 服务的详细信息可在 ClickHouse Cloud 控制台中获得。 选择您要连接的服务并点击 连接

ClickHouse Cloud 服务连接按钮

选择 HTTPS,详细信息可在示例的 curl 命令中获得。

ClickHouse Cloud HTTPS 连接详细信息

如果您使用的是自管理的 ClickHouse,连接详细信息由您的 ClickHouse 管理员设置。

配置连接器

导航到 Connectors -> Add Connector,并使用以下设置(请注意,值仅为示例):

{
  "database": "<DATABASE_NAME>",
  "errors.retry.timeout": "30",
  "exactlyOnce": "false",
  "schemas.enable": "false",
  "hostname": "<CLICKHOUSE_HOSTNAME>",
  "password": "<SAMPLE_PASSWORD>",
  "port": "8443",
  "ssl": "true",
  "topics": "<TOPIC_NAME>",
  "username": "<SAMPLE_USERNAME>",
  "key.converter": "org.apache.kafka.connect.storage.StringConverter",
  "value.converter": "org.apache.kafka.connect.json.JsonConverter",
  "value.converter.schemas.enable": "false"
}

指定连接端点

您需要指定连接器可以访问的允许列表端点。 添加网络出口端点时,必须使用完全合格的域名 (FQDN)。 示例:u57swl97we.eu-west-1.aws.clickhouse.com:8443

备注

您必须指定 HTTP(S) 端口。连接器尚不支持本机协议。

阅读文档。

您现在应该准备就绪了!

已知限制