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





