zoukankan      html  css  js  c++  java
  • kafka创建topic,生产和消费指定topic消息

    启动zookeeper和Kafka之后,进入kafka目录(安装/启动kafka参考前面一章:https://www.cnblogs.com/cici20166/p/9425613.html)

    1.创建Topic

      1)运行命令: ./bin/kafka-topics.sh --create --zookeeper zk1:2181 --replication-factor 2 --partitions 3 --topic hello

        replication-factor:副本数,包含主节点,不能大于机器数
        partitions:分区数,可以大于机器数
        同一台机器不能包含两个相同的partition:hello-1/hello-1
        但是可以有两个不同的分区:hello-2/hello-3
    

      图示为创建成功:

      

    2.查看Topic

      1)运行命令查看所有的topic: ./bin/kafka-topics.sh --list --zookeeper zk1:2181

      结果如下图,表示共有test和test1两个topic:

      

    3.用Kafka的console-producer在topic hello 生产消息

      新建终端窗口,到kafka目录,运行命令:./bin/kafka-console-producer.sh --broker-list zk1:9092 --topic hello

      然后输入想要产生的消息内容(如 hello world),回车:

    4.用Kafka的console-consumer 消费topic hello的消息

      新建终端窗口,到kafka目录,

      运行命令:./bin/kafka-console-consumer.sh --bootstrap-server zk1:9092 --topic hello --from-beginning

      (9092是kafka单机启动的端口;--bootstrap-server 新旧kafka版本不一样,这个是新版本的命令)

      

      ps. 1)若producer 和 consumer 两个窗口同时打开,在producer输入信息,consumer会立即消费信息并打印在终端
    {{uploading-image-892112.png(uploading...)}}
    {{uploading-image-443812.png(uploading...)}}

        2)新开一个终端,去消费同一个topic,刚刚已经消费过的消息还会被新终端继续消费。也就是说,消息被消费过后不会立即被删除。(不同的groupid消费重新计算offset)          

    5.kafka-manager可以看到上述操作记录产生的影响

    新增了一个topic

    三个kafka-broker

    具体topic详情




  • 相关阅读:
    Python学习笔记-练习编写ATM+购物车(购物商城)
    自动化单元测试(Karma + Mocha)
    Vue
    Vue
    [项目] 网易云音乐项目总结
    Vue项目如何打包问题总结
    实现跨域请求的八种方式
    正则删除字符串左、右或两端的空格经验总结
    数组常用的方法
    为什么import React from 'react',React首字母必须大写?
  • 原文地址:https://www.cnblogs.com/xiaohan970121/p/12361049.html
Copyright © 2011-2022 走看看