使用ClickHouse Kafka引擎对接Confluent Schema Registry的认证配置问题
ClickHouse Kafka引擎Confluent Schema Registry基础认证配置方案
首先确认前提:你的ClickHouse版本需要 ≥ 21.9,低于该版本未原生支持Schema Registry的基础认证配置,会出现配置不生效的问题。
两种可选配置方式如下:
- 方式一:建表时单独配置(更灵活,支持不同表对接不同Schema Registry的场景)
直接在Kafka引擎表的SETTINGS中添加以下两个参数即可:schema_registry_basic_auth_credentials:填写用户名:密码格式的认证信息schema_registry_basic_auth_mechanism:固定取值为Basic
参考建表语句:
CREATE TABLE kafka_avro_source ( -- 按你的消息结构定义字段 id Int64, content String, ts DateTime ) ENGINE = Kafka() SETTINGS kafka_broker_list = '你的kafka broker地址', kafka_topic_list = '目标topic名称', kafka_group_name = '消费者组名', kafka_format = 'AvroConfluent', kafka_schema_registry_url = '你的Schema Registry访问地址', schema_registry_basic_auth_credentials = '替换为你的用户名:替换为你的密码', schema_registry_basic_auth_mechanism = 'Basic';
- 方式二:全局配置(所有Kafka引擎表共用一套认证信息时使用)
你之前配置不生效是因为参数存放路径错误,正确的配置方式是在config.xml的<kafka>标签块内添加以下配置:
<clickhouse> <!-- 其他原有配置保持不变 --> <kafka> <!-- 原有Kafka相关配置比如SASL、SSL等保留 --> <schema_registry_basic_auth_credentials>你的用户名:你的密码</schema_registry_basic_auth_credentials> <schema_registry_basic_auth_mechanism>Basic</schema_registry_basic_auth_mechanism> </kafka> </clickhouse>
配置完成后重启clickhouse-server服务生效。
配置完成后如果仍有报错,可查看clickhouse-server运行日志,搜索Schema Registry相关的认证报错,检查账号密码是否正确、参数名称是否拼写错误即可。
内容的提问来源于stack exchange,提问作者Ali Shahamatnia
相关产品推荐
相关产品推荐

