• 【Docker中Kafka+Zookeeper基本命令使用】


    【Docker中Kafka+Zookeeper基本命令使用】

    知识回顾:
    上次我们学习了【Docker安装部署Kafka+Zookeeper详细教程】,有问题的可以先看一下上节课的文章,再进行接下来的学习,一点都不耽误呦!
    当你看了上节课的文章后,这节课我们来学习一下【Docker中Kafka+Zookeeper基本命令使用】,你准备好了吗?要发车了,出发啦!!!

    Kafka基本命令使用

    进入kafka容器
    docker exec -it kafka_zookeeper /bin/bash
    
    • 1
    找到kafka的bin目录(注意)
    cd /opt/kafka/bin
    
    • 1
    topic进行创建

    先查看一下zookeeper中对应节点是否存储了信息:

    [zk: localhost:2181(CONNECTED) 0] ls /
    [admin, brokers, cluster, config, consumers, controller, controller_epoch, feature, isr_change_notification, latest_producer_id_block, log_dir_event_notification, zookeeper]
    [zk: localhost:2181(CONNECTED) 1] ls /brokers 
    [ids, seqid, topics]
    [zk: localhost:2181(CONNECTED) 2] ls /brokers/topics 
    []
    [zk: localhost:2181(CONNECTED) 3] 
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    此时没有任何信息:
    在这里插入图片描述

    接下来创建一个topic:

    kafka-topics.sh --create --topic topic_example_1 --zookeeper zookeeper_kafka:2181 --replication-factor 1 --partitions 1
    
    • 1
    参数说明
    
    --zookeeper 表示ZK地址,可以传递多个,用逗号分隔 IP:PORT,IP:PORT,IP:PORT/kafka
    zookeeper中的ip地址是和容器的名称对应的,写你对应的容器名称就可以。。。
    --replication-factor 表示副本数量,这里的数量是包含Leader副本和Follower副本,副本数量不能超过代理数量
    --partitions 表示主题的分区数量,必须传递该参数。Kafka的生产者和消费者采用多线程并行对主题的消息进行处理,每个线程处理一个分区,分区越多吞吐量就会越大,但是分区越多也意味着需要打开更多的文件句柄数量,这样也会带来一些开销。
    
    • 1
    • 2
    • 3
    • 4
    • 5

    接下来再次进入zookeeper容器中,查看我们刚才创建的topic_example_1,此时已经保存到了zookeeper节点中,对应的节点中并保存了相关的信息。

    [zk: localhost:2181(CONNECTED) 3] ls /brokers/topics 
    [topic_example_1]
    [zk: localhost:2181(CONNECTED) 4] get /brokers/topics/topic_example_1 
    {"partitions":{"0":[0]},"topic_id":"_TCoNxYpTHGInbmgVme-CA","adding_replicas":{},"removing_replicas":{},"version":3}
    [zk: localhost:2181(CONNECTED) 5] 
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    最后结果清晰的展示到了这张图片中:
    在这里插入图片描述

    对topic进行查询

    执行命令:

    kafka-topics.sh --zookeeper zookeeper_kafka:2181 --list
    
    • 1

    结果展示:
    在这里插入图片描述

    对topic进行删除

    执行命令

    kafka-topics.sh --zookeeper zookeeper_kafka:2181 --delete --topic topic_example_1 
    
    • 1

    结果展示(删除后再次查询没有):
    在这里插入图片描述

    对topic的信息进行获取

    执行命令:

    kafka-topics.sh --zookeeper zookeeper_kafka:2181 --describe --topic topic_example_1 
    
    • 1

    结果查询:
    在这里插入图片描述

    生产者发送消息、消费者消费消息

    生产者发送消息命令:

    kafka-console-producer.sh --broker-list  localhost:9092 --topic topic_example_1 
    
    • 1

    消费者接受消息命令:

    kafka-console-consumer.sh --bootstrap-server  localhost:9092 --topic topic_example_1 
    
    • 1

    生产者生产消息、消费者接受消息结果展示:
    发送消息:
    在这里插入图片描述

    接受消息:
    在这里插入图片描述

    好了,到这里【Docker中Kafka+Zookeeper基本命令使用】就结束了,你学废了吗?持续创作中!!!

  • 相关阅读:
    [洛谷月赛]终于结束的起点
    Windows系统安装
    与专业安全厂商相比,戴尔做安全的优势是什么?
    软考知识点之需求管理
    P2002 消息扩散
    Openharmony3.2 源码编译(ubuntu 22.04) 过程记录
    linux开启交换空间
    SSM毕设项目超市零售管理系统mq344(java+VUE+Mybatis+Maven+Mysql)
    4.django-模板
    基于NodeJS + Swagger UI搭建Web API界面
  • 原文地址:https://blog.csdn.net/Coder_ljw/article/details/127421167