1. 創建主題,例如test
./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
-
zookeeper : zookeeper集羣列表,用英文逗號分隔。可以不用指定zookeeper整個集羣內的節點列表, 只指定某個或某幾個zookeeper節點列表也是可以的
-
replication-factor : 複製數目,提供failover機制;1代表只在一個broker上有數據記錄,
一般值都大於1,代表一份數據會自動同步到其他的多個broker,防止某個broker宕機後數據丟失。 -
partitions : 一個topic可以被切分成多個partitions,一個消費者可以消費多個partitions,
但一個partitions只能被一個消費者消費,所以增加partitions可以增加消費者的吞吐量。
kafka只保證一個partitions內的消息是有序的,多個一個partitions之間的數據是無序的
2. 查看主題,校驗Topic是否創建成功
#查看所有,校驗Topic是否創建成功
./bin/kafka-topics.sh --list --zookeeper localhost:2181
#查看test
./bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test
3. 啓動一個Producer併發送消息, 默認情況下,每行會單獨算作一次消息發出。
./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
#Kafka只可以發送string.integer ,測試數據需要轉換爲string,
[{"ciCode":"1001","metric":"cpu","value":"22","unit":"%","timestamp":"1231231231331"}]
4. 啓動一個Consumer並接受消息
./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning