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