将 Confluent Cloud 与 ClickHouse 集成
前提条件
我们假设您熟悉
- ClickHouse Connector Sink
- Confluent Cloud 和 自定义连接器。
来自 ClickHouse 的官方 Kafka 连接器与 Confluent Cloud
在 Confluent Cloud 上安装
这旨在作为快速指南,帮助您开始在 Confluent Cloud 上使用 ClickHouse Sink Connector。 有关更多详细信息,请参阅官方 Confluent 文档。
创建主题
在 Confluent Cloud 上创建主题非常简单,此处有详细说明 here。
重要提示
- 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.
示例

收集您的连接详细信息
要使用 HTTP(S) 连接到 ClickHouse,您需要以下信息
-
HOST 和 PORT:通常,使用 TLS 时端口为 8443,不使用 TLS 时端口为 8123。
-
数据库名称:开箱即用,有一个名为
default
的数据库,使用您要连接的数据库的名称。 -
用户名和密码:开箱即用,用户名是
default
。 使用适合您用例的用户名。
您的 ClickHouse Cloud 服务的详细信息可在 ClickHouse Cloud 控制台中找到。 选择您要连接的服务,然后单击连接
选择 HTTPS,详细信息在示例 curl
命令中提供。
如果您使用的是自管理 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) 端口。 连接器尚不支持 Native 协议。
您应该一切就绪!
已知限制
- 自定义连接器必须使用公共互联网端点。 不支持静态 IP 地址。
- 您可以覆盖一些自定义连接器属性。 请参阅官方文档中的完整列表。
- 自定义连接器仅在某些 AWS 区域中可用
- 请参阅官方文档中自定义连接器的限制列表