Topic主題:windows
消息在進入kafka集羣時,是以主題進行 數據概括,既一條消息必須屬於一個主題。server
在kafka集羣中能夠有無數個主題。blog
從生產者的角度來講,他所操做的單位,通常狀況下是以主題爲單位。從消費者的角度來講,他所操做的單位,也是以主題爲單位。kafka
可是,生產者,消費者能夠以比主題更精細的單位來操做----》分區,也就是消息的分類。it
kafka始終支持多用戶寫入消息,訂閱消息的。生產者和消費者,必需要知道操做的主題。io
建立屬於本身的主題:console
經常使用命令:集羣
啓動kafkazookeeper
Java\kafka_2.11-0.10.0.0>.\bin\windows\kafka-server-start.bat .\config\server.properties配置
windows 下查看主題
D:\Java\kafka_2.11-0.10.0.0\bin\windows>kafka-topics.bat --describe --zookeeper localhost:2181 --topic business_log(主題的名字)
查看主題的content
D:\Java\kafka_2.11-0.10.0.0\bin\windows>kafka-console-consumer.bat --zookeeper localhost:2181 --from-beginning --topic business_log(主題的名字)
往主題寫入消息
kafka-console-producer.bat --broker-list localhost:9092 --topic business_log
建立一個主題:
bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic business_log(主題的名字)
在建立主題時,能夠設置不少屬性參數,須要哪些參數,能夠查找參數設置表
查看全部建立的主題列表:
bin\windows\kafka-topics.bat --list --zookeeper localhost:2181
完全刪除本機kafka的topic
1.server.properties 中添加delete.topic.enable=true
2.執行D:\Developer\kafka_2.10-0.10.0.0\bin\windows>kafka-topics.bat --zookeeper 127.0.0.1(本機的IP):2181 --delete --topic business_log(主題的名字)
3. 執行zookeeper-server-stop.bat,重啓kafka
如果從新發送消息,會自動根據配置的partitions重建。
注意:不執行1步驟,就是假刪除
一個broker服務下,是否能夠建立多個主題?
能夠
一個broker服務下,在建立主題時是否能夠建立多個副本因子?
不能夠,建立主題時的副本因子,應該小於等於可用的broker服務數。
查看主題和分區信息:
在kafka中,每一個分區有一個編號,這個編號從0開始,
Leader:表示broker.id=0(server.properties文件中)若是有多個broker,那麼broker.id的值確定不相同,由於在kafka中若是有多個副本的話,就會存在leader與follower的關係。表示當前這個複本爲leader所在的broker是哪個。
Replicas:全部的複本列表, 0,1,2
Isr:可用列表數,0,1,2
只看主題。