文档首页 > > 用户指南> Kafka专享版实例用户指南> 连接Kafka> 连接未开启SASL的Kafka专享实例

连接未开启SASL的Kafka专享实例

分享
更新时间: 2019/08/06 14:28

目前,DMS提供Kafka专享版实例的服务,Kafka专享版实例采用物理隔离的方式部署,租户独占Kafka实例。创建Kafka专享版实例之后,使用开源Kafka客户端向Kafka专享版实例生产消息和消费消息。

本节介绍如何使用开源的Kafka客户端访问未开启SASL的Kafka专享实例的方法。

多语言客户端的使用请参考Kafka官网:https://cwiki.apache.org/confluence/display/KAFKA/Clients

说明:

本章节主要描述使用命令行模式连接Kafka实例,如果是在业务代码中连接Kafka实例,请参考《Kakfa专享实例开发指南》。

前提条件

  1. 已配置正确的安全组。

    访问未开启SASL的Kafka专享实例时,支持VPC内访问公网访问两种方式。

    • 如果是VPC内访问,除了弹性云服务器与Kafka专享版实例的VPC需要保持一致,弹性云服务器和Kafka专享版实例还需要配置了正确的安全组规则,客户端才能正常访问Kafka实例。安全组配置要求,请参考如何选择和配置安全组
    • 如果是公网访问,不需要关注弹性云服务器和Kafka实例的VPC,只需要保证Kafka实例所在的安全组配置为正确的规则,客户端才能访问Kafka实例。

      SASL关闭时,需要放开入方向的9094端口。

      图1 Kafka实例安全组规则
  2. 已获取连接Kafka专享版实例的地址。
    • 如果是VPC内访问,获取实例详情中的“连接地址”。
      图2 获取VPC内访问Kafka专享实例的连接地址
    • 如果是公网访问,获取实例详情中的“Kafka访问地址”。
      图3 获取公网访问Kafka专享实例的连接地址
  3. Kafka专享实例已创建Topic。

命令行模式连接实例

  1. 登录Linux系统的弹性云服务器。
  2. 安装Java JDK或JRE,并配置JAVA_HOME与PATH环境变量,使用执行用户在用户家目录下修改.bash_profile,添加如下行。

    export JAVA_HOME=/opt/java/jdk1.8.0_151 
    export PATH=$JAVA_HOME/bin:$PATH

    执行source .bash_profile命令使修改生效。

    说明:

    ECS虚拟机默认自带的JDK可能不符合要求,例如OpenJDK,需要配置为Oracle的JDK,可至Oracle官方下载页面下载Java Development Kit 1.8.111及以上版本。

  3. 下载开源的Kafka客户端。对应1.1.0版本实例的下载地址:https://archive.apache.org/dist/kafka/1.1.0/kafka_2.11-1.1.0.tgz

    wget https://archive.apache.org/dist/kafka/1.1.0/kafka_2.11-1.1.0.tgz

  4. 解压Kafka客户端文件,下面以1.1.0版本为例。

    tar -zxf [kafka_tar]

    其中,[kafka_tar]表示客户端的压缩包名称。

    例如:

    tar -zxf kafka_2.11-1.1.0.tgz

  5. 进入[base_dir]/kafka_2.11-1.1.0/bin目录下。
  6. 执行如下命令进行生产消息。

    ./kafka-console-producer.sh --broker-list [连接地址] --topic [Topic名称]

    参数说明如下:

    • [连接地址]2中获取的连接地址,如果是公网访问,请使用“Kafka访问地址”,如果是VPC内访问,请使用“连接地址”,请根据实际情况选择。
    • [Topic名称]表示Kafka实例下创建的Topic名称。

    本文以公网连接为例,获取的Kafka实例公网连接地址为“119.3.196.45:9094,117.78.42.127:9094,49.4.49.103:9094”。执行完命令后输入内容,按回车键发送消息到Kafka实例,输入的每一行内容都将作为一条消息发送到Kafka实例。

    [root@ecs-heru bin]# ./kafka-console-producer.sh --broker-list 119.3.196.45:9094,117.78.42.127:9094,49.4.49.103:9094  --topic topic-heru
    >Hello
    >DMS
    >Kafka!
    >^C[root@ecs-heru bin]# 

    如需停止生产使用Ctrl+C命令退出。

  7. 执行如下命令消费消息。

    ./kafka-console-consumer.sh --bootstrap-server [连接地址] --topic [Topic名称] --from-beginning

    [root@ecs-heru bin]#  ./kafka-console-consumer.sh --bootstrap-server 119.3.196.45:9094,117.78.42.127:9094,49.4.49.103:9094 --topic topic-heru --from-beginning
    Kafka!
    DMS
    Hello
    ^CProcessed a total of 3 messages
    [root@ecs-heru bin]# 

    如需停止消费使用Ctrl+C命令退出。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区