将 Confluent Cloud 集成到 ClickHouse
先决条件
我们假设您熟悉
- ClickHouse 连接器 Sink
- Confluent Cloud 和 自定义连接器.
来自 ClickHouse 与 Confluent Cloud 的官方 Kafka 连接器
在 Confluent Cloud 上安装
这是一份快速指南,可帮助您开始使用 Confluent Cloud 上的 ClickHouse Sink 连接器。有关更多详细信息,请参阅 官方 Confluent 文档.
创建主题
在 Confluent Cloud 上创建主题非常简单,您可以在 此处 找到详细说明。
重要说明
- 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。
DATABASE NAME:默认情况下,存在名为
default
的数据库,请使用您要连接到的数据库的名称。USERNAME 和 PASSWORD:默认情况下,用户名为
default
。请使用适合您用例的用户名。
您的 ClickHouse Cloud 服务的详细信息可在 ClickHouse Cloud 控制台中找到。选择您要连接到的服务,然后单击“连接”。
选择“HTTPS”,详细信息将在示例 curl
命令中提供。
如果您使用的是自托管 ClickHouse,连接详细信息将由您的 ClickHouse 管理员设置。
配置连接器
导航至 连接器
-> 添加连接器
,并使用以下设置(请注意,这些值仅为示例)。
{
"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) 端口。连接器目前不支持原生协议。
您应该已完成所有设置!
已知限制
- 自定义连接器必须使用公共互联网端点。不支持静态 IP 地址。
- 您可以覆盖某些自定义连接器属性。查看官方文档中的 填充列表.
- 自定义连接器仅在 某些 AWS 区域 中可用
- 查看官方文档中的 自定义连接器限制列表