1. 程式人生 > >【Apache Kafka】Kafka學習筆記

【Apache Kafka】Kafka學習筆記

local ets prop strong 當前 text 生產 create topic

0x00 基本信息

1、Kafka架構圖

技術分享圖片

2、環境信息

  • 服務器IP:xx.xx.xx.xx
  • 操作系統:CentOS7.2_x64
  • Kafka版本:kafka_2.12-1.1.0
  • Zookeeper版本:zookeeper-3.4.12

0x01 讓Kafka運行起來

1、先啟動Zookeeper

$ cd /opt/kafka/zookeeper-3.4.12/bin
$ zkServer.sh start

確認zookeeper是否成功啟動:

$ netstat -an | grep 2181
tcp6 0 0 :::2181 :::* LISTEN

返回以上結果說明成功啟動,接下來就可以啟動kafka服務並使用具體的kafka命令來進行相應操作了。

2、啟動kafka服務

$ cd /opt/kafka/kafka_2.12-1.1.0/bin
$ ./kafka-server-start.sh -daemon /opt/kafka/kafka_2.12-1.1.0/config/server.properties

確認kafka服務是否正常啟動:

$ ps -ef | grep kafka

技術分享圖片

返回以上結果說明成功啟動。

0x02 Kafka指令

利用kafka指令進行具體的操作。

1、查看當前已有的topic

$ cd /opt/kafka/kafka_2.12-1.1.0/bin
$ ./kafka-topics.sh --list --zookeeper localhost:2181

技術分享圖片

2、創建topic test-topic的生產者

$ ./kafka-console-producer.sh --broker-list PLAINTEXT://xx.xx.xx.xx:9092 --topic test-topic

技術分享圖片

3、創建topic test-topic的消費者

./kafka-console-consumer.sh --zookeeper localhost:2181 --topic test-topic --from-beginning

技術分享圖片

這樣,在2中創建的生產者命令行中發送的消息,3中創建的消費者就可以及時接收到。
註意:上面截圖中提示舊的消費者創建方式將會廢棄,建議使用bootstrap-server這種新的方式,如下:

./kafka-console-consumer.sh --bootstrap-server xx.xx.xx.xx:9092 --topic test-topic --from-beginning

技術分享圖片

4、創建新topic

./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic my-test-topic

技術分享圖片

5、查看某個topic的詳細信息

./kafka-topics.sh --describe --zookeeper localhost:2181 --topic test-topic

技術分享圖片

6、修改已有topic

# 已經存在topic my-test-topic,且該topic之前分區數為1,現在我們將該topic的分區數修改成2
./kafka-topics.sh --zookeeper localhost:2181 --alter --topic my-test-topic --partitions 2

技術分享圖片

7、刪除某個topic

./kafka-topics.sh --zookeeper localhost:2181 --delete --topic my-test-topic

技術分享圖片

技術分享圖片

本文到此結束。

【Apache Kafka】Kafka學習筆記