You need to enable JavaScript to run this app.
文档中心
消息队列 Kafka版

消息队列 Kafka版

复制全文
下载 pdf
连接实例
使用 SSL 接入点连接实例
复制全文
下载 pdf
使用 SSL 接入点连接实例
本文介绍通过 SSL 接入点连接 Kafka 实例,进行消息生产和消息消费的相关操作。 ​
背景信息 ​
消息队列 Kafka版通过 SSL 接入点提供传输加密的访问方式,选择该接入点连接实例时,数据需要通过 SSL 证书认证。 ​
消息队列 Kafka版支持通过 SSL 证书对消息进行鉴权和加密,保障数据传输过程的安全性,防止数据在网络传输过程中被截取或者窃听,相较于普通访问方式具备更高的安全性。目前支持客户端对服务端证书的单向认证。 ​
前提条件 ​
  • 已获取 SSL 接入点信息,包括连接地址和端口号。详细信息请参考查看接入点。 ​
  • 环境中已成功安装 JDK、配置环境变量,并下载了 Kafka 开源客户端,例如 Kafka 2.2.2 客户端。 ​
配置鉴权 ​
在 Kafka 客户端包的 ./config 目录中,修改 consumer.properties 和 producer.properties 文件。 请根据 SASL 机制类型,分别在文件中增加以下内容: ​
注意​
通过公网或私网使用 SSL 接入点访问 Kafka 实例,客户端元数据均通过 IP 进行连接,证书中通常不包含该 IP,验证时可能出现 certificate verify failed 报错。为避免上述报错,建议在客户端统一配置参数(本文档以 Java SDK 为例,参数为: ssl.endpoint.identification.algorithm= ),其他语言客户端可以参考开源官方配置,以跳过证书域名校验。​
  • 使用 PLAIN 机制时: ​
  • 在 consumer.properties 和 producer.properties 文件中增加以下内容。其中 username 和 password 须填写 PLAIN 用户的用户名和密码。 ​
  • ​
    sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="{$plainusername}" password="{$plainpwxxx}"; ​
    sasl.mechanism=PLAIN​
    ​
    security.protocol=SSL​
    ​
  • 使用 SCRAM-SHA-256 机制时: ​
  • 在 consumer.properties 和 producer.properties 文件中增加以下内容。其中 username 和 password 须填写 SCRAM 用户的用户名和密码。 ​
  • ​
    sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="{$scramusername}" password="{$scrampw}"; ​
    sasl.mechanism=SCRAM-SHA-256​
    ​
    security.protocol=SSL​
    ​
各字段说明如下,详细的配置文件说明请参考配置文件。​
​
字段​
说明​
username ​
SASL 用户名。 ​
  • PLAIN 机制下,此处应设置为创建实例时指定的 PLAIN 用户名。 ​
  • SCRAM 机制下,此处应设置为 SCRAM 用户的用户名。 ​
password ​
SASL用户密码。 ​
  • PLAIN 机制下,此处应设置为创建实例时指定的 PLAIN 用户密码。 ​
  • SCRAM 机制下,此处应设置为 SCRAM 用户的用户密码。 ​
security.protocol ​
协议名称。此处应指定为 SSL。 ​
ssl.endpoint.identification.algorithm ​
可选参数。 ​
无论通过公网还是私网接入,客户端元数据均通过 IP 建立连接,而证书中通常不包含该 IP,建议统一配置该参数为空,避免证书校验失败。 ​
​
生产消息 ​
  1. 解压 Kafka 客户端文件。 ​
  1. 在 ./bin 目录下,打开终端。 ​
  1. 执行以下命令启动生产者,开始生产消息。 ​
  • ​
    bash kafka-console-producer.sh --broker-list ${SSL接入点} --topic ${Topic名称} --producer.config ../config/producer.properties​
    ​
  • ​
    参数​
    说明​
    SSL 接入点 ​
    控制台实例详情页面获取的 SSL 接入点的域名和端口号。 ​
    Topic 名称 ​
    Kafka 实例的 Topic 名称。 ​
    ​
  1. 输入需要生产的消息内容,按回车键发送此消息到 Kafka 实例。 ​
  • 光标下输入的每一行内容都将封装到消息中发送到 Kafka 实例。如需停止生产,可以使用 Ctrl+C 命令退出消息生产。 ​
  • ​
    [root@kafkaecs bin]# bash kafka-console-producer.sh --broker-list kafka-cnngc7an0qp****.kafka.volces.com:9094 --topic mytopic --producer.config ../config/producer.properties​
    >Hello world!​
    >This is a Kafka message!​
    >^C[root@kafkaecs bin]#​
    ​
消费消息 ​
  1. 在新的终端会话中,执行如下命令消费消息。 ​
  • 如需停止消费,可以使用 Ctrl+C 命令退出消息消费。 ​
  • ​
    bash kafka-console-consumer.sh --bootstrap-server ${SSL接入点} --topic ${Topic名称} --group ${消费组名称} --from-beginning --consumer.config ../config/consumer.properties​
    ​
  • ​
    参数​
    说明​
    SSL 接入点 ​
    控制台实例详情页面获取的 SSL 接入点的域名和端口号。 ​
    Topic名称 ​
    Kafka 实例的 Topic 名称。 ​
    消费组名称 ​
    自定义的消费组名称。 ​
    如果您已在配置文件中指定了消费组名称,请确认命令行中配置了相同的名称,否则可能导致消费失败。 ​
    ​
  1. 成功操作后,消费者可以收到生产者发送的消息,内容与生产端的消息相同。 ​
  • ​
    [root@kafka bin]# bash kafka-console-consumer.sh --bootstrap-server kafka-cnngc7an0qpv****.kafka.volces.com:9094 --topic mytopic --group grouptest --from-beginning --consumer.config ../config/consumer.properties​
    Hello world!​
    This is a Kafka message!​
    ^CProcessed a total of 2 messages​
    [root@kafka bin]#​
    ​
  • ​
最近更新时间:2026.04.28 10:35:32
这个页面对您有帮助吗?
有用
有用
无用
无用