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詳情





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM