Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

将 Confluent Platform 与 ClickHouse 集成

前置条件

我们假设你已经熟悉以下内容:

ClickHouse 官方 Kafka 连接器 (适用于 Confluent Platform)

在 Confluent Platform 上安装

本文旨在作为一份快速入门指南,帮助你开始使用运行于 Confluent Platform 上的 ClickHouse Sink Connector。 更多详情请参阅 Confluent 官方文档

创建 topic

在 Confluent Platform 上创建 topic 非常简单,详细说明请参见此处

重要说明

  • Kafka topic 名称必须与 ClickHouse 表名保持一致。要实现这一点,可以使用转换器 (例如 ExtractTopic) 。
  • 分区更多并不一定意味着性能更高——更多详情和性能优化建议,请参阅我们即将发布的指南。

安装连接器

您可以从我们的仓库下载该连接器——也欢迎您在那里提交反馈和问题!

导航到 "Connector Plugins" -> "Add plugin",并使用以下设置:

'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,显示添加自定义 ClickHouse 连接器的设置

准备您的连接信息

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

Parameter(s) Description
HOST and PORT 通常,使用 TLS 时端口为 8443;不使用 TLS 时端口为 8123。
DATABASE NAME 默认情况下,存在一个名为 default 的数据库。请使用你要连接的数据库名称。
USERNAME and PASSWORD 默认情况下,用户名为 default。请根据你的使用场景使用相应的用户名。

你的 ClickHouse Cloud 服务的连接信息可在 ClickHouse Cloud 控制台中查看。 选择一个服务,然后点击 Connect

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

阅读文档。

这样应该就可以了!

已知限制

Navigation