关于 YMatrix
部署数据库
使用数据库
管理集群
最佳实践
高级功能
高级查询
联邦查询
Grafana 监控
备份恢复
灾难恢复
图数据库
管理手册
性能调优
故障诊断
工具指南
系统配置参数
SQL 参考
本文档介绍 MatrixGate 连接 Kafka 时启用 SSL 加密连接的配置方法。本文涉及的 SSL 配置功能适用于 MatrixGate v6.8.2 及以上版本。
SSL 连接和 已有的 SASL 认证是两个独立配置项,可以分别独立开启,也可以同时开启使用。
当前 MatrixGate 支持单向 TLS:Kafka 连接会被加密,MatrixGate 会校验 Kafka broker 证书。
配置 SSL-ca-cert 后,MatrixGate 会启用 SSL 连接。
注意!
SSL-ca-cert需配置为 Kafka broker 证书对应的 CA 证书路径。该证书文件必须在 MatrixGate 进程运行的机器上可读。
配置前,请确认:
MatrixGate 版本为 v6.8.2 或更高版本。
Kafka broker 已开启 SSL 监听地址。
MatrixGate 运行节点可以访问 Kafka broker。
MatrixGate 运行节点已保存 CA 证书文件,并具备读取权限。
以下示例仅展示 Kafka 数据源中与 SSL 和 SASL 相关的关键配置。请根据实际环境修改 broker 地址、证书路径、认证信息、topic、partition 和 job。
只启用 SSL 时,需要配置 Kafka broker 地址和 CA 证书路径。
[source]
source = "kafka"
[source.kafka]
# Kafka broker 地址,多个 broker 用逗号分隔。
kafka-broker = "broker1:9094,broker2:9094"
# CA 证书路径,用于校验 Kafka broker 证书;配置该参数后启用 SSL 连接。
SSL-ca-cert = "/path/to/ca.pem"
[[source.kafka.topic]]
topic = "topic_name"
partition = "*"
job = "job_name"
同时启用 SSL 和 SASL/PLAIN 时,需要配置 SSL 参数和 SASL 用户名、密码。
[source]
source = "kafka"
[source.kafka]
# Kafka broker 地址,多个 broker 用逗号分隔。
kafka-broker = "broker1:9093,broker2:9093"
# CA 证书路径,用于校验 Kafka broker 证书;配置该参数后启用 SSL 连接。
SSL-ca-cert = "/path/to/ca.pem"
# 是否启用 SASL 认证。
enable-SASL = true
# 是否启用 Kafka SASL handshake。标准 Kafka SASL 连接一般设置为 true。
enable-SASL-handshake = true
# SASL 认证机制,PLAIN 表示使用 SASL/PLAIN 用户名密码认证。
SASL-mechanism = "PLAIN"
# SASL/PLAIN 用户名。
SASL-user = "user"
# SASL/PLAIN 密码。
SASL-password = "password"
[[source.kafka.topic]]
topic = "topic_name"
partition = "*"
job = "job_name"
同时启用 SSL 和 SASL/SCRAM 时,需要配置 SSL 参数、SASL 用户名密码和 SCRAM 哈希算法。
[source]
source = "kafka"
[source.kafka]
# Kafka broker 地址,多个 broker 用逗号分隔。
kafka-broker = "broker1:9093,broker2:9093"
# CA 证书路径,用于校验 Kafka broker 证书;配置该参数后启用 SSL 连接。
SSL-ca-cert = "/path/to/ca.pem"
# 是否启用 SASL 认证。
enable-SASL = true
# 是否启用 Kafka SASL handshake。标准 Kafka SASL 连接一般设置为 true。
enable-SASL-handshake = true
# SASL 认证机制,SCRAM 表示使用 SASL/SCRAM 认证。
SASL-mechanism = "SCRAM"
# SASL/SCRAM 用户名。
SASL-user = "user"
# SASL/SCRAM 密码。
SASL-password = "password"
# SCRAM 哈希算法,支持 SHA-256 或 SHA-512。
SCRAM-algorithm = "SHA-512"
[[source.kafka.topic]]
topic = "topic_name"
partition = "*"
job = "job_name"
同时启用 SSL 和 SASL/GSSAPI 时,需要配置 SSL 参数和 SASL/GSSAPI 参数。
[source]
source = "kafka"
[source.kafka]
# Kafka broker 地址,多个 broker 用逗号分隔。
kafka-broker = "broker1:9093,broker2:9093"
# CA 证书路径,用于校验 Kafka broker 证书;配置该参数后启用 SSL 连接。
SSL-ca-cert = "/path/to/ca.pem"
# 是否启用 SASL 认证。
enable-SASL = true
# 是否启用 Kafka SASL handshake。标准 Kafka SASL 连接一般设置为 true。
enable-SASL-handshake = true
# SASL 认证机制,GSSAPI 表示使用 Kerberos 认证。
SASL-mechanism = "GSSAPI"
# GSSAPI 认证方式,KEYTAB 表示使用 keytab 文件认证。
GSSAPI-auth-type = "KEYTAB"
# Kerberos 配置文件路径,通常是 krb5.conf。
GSSAPI-kerberos-config-path = "/etc/krb5.conf"
# keytab 文件路径,GSSAPI-auth-type = "KEYTAB" 时使用。
GSSAPI-keytab-path = "/etc/security/keytabs/kafka.service.keytab"
# GSSAPI 用户或 principal。
GSSAPI-user = "kafka/host.example.com"
# Kerberos realm。
GSSAPI-realm = "EXAMPLE.COM"
# Kafka broker 使用的 Kerberos service name,通常是 kafka。
GSSAPI-service-name = "kafka"
[[source.kafka.topic]]
topic = "topic_name"
partition = "*"
job = "job_name"
[source]
source = "kafka"
[source.kafka]
# Kafka broker 地址,多个 broker 用逗号分隔。
kafka-broker = "broker1:9093,broker2:9093"
# CA 证书路径,用于校验 Kafka broker 证书;配置该参数后启用 SSL 连接。
SSL-ca-cert = "/path/to/ca.pem"
# 是否启用 SASL 认证。
enable-SASL = true
# 是否启用 Kafka SASL handshake。标准 Kafka SASL 连接一般设置为 true。
enable-SASL-handshake = true
# SASL 认证机制,GSSAPI 表示使用 Kerberos 认证。
SASL-mechanism = "GSSAPI"
# GSSAPI 认证方式,USER 表示使用用户名密码认证。
GSSAPI-auth-type = "USER"
# Kerberos 配置文件路径,通常是 krb5.conf。
GSSAPI-kerberos-config-path = "/etc/krb5.conf"
# GSSAPI 用户。
GSSAPI-user = "user"
# GSSAPI 密码,GSSAPI-auth-type = "USER" 时使用。
GSSAPI-password = "password"
# Kerberos realm。
GSSAPI-realm = "EXAMPLE.COM"
# Kafka broker 使用的 Kerberos service name,通常是 kafka。
GSSAPI-service-name = "kafka"
[[source.kafka.topic]]
topic = "topic_name"
partition = "*"
job = "job_name"