windows安裝kafka的叢集配置
下載kafka二進位制包kafka_2.11-0.9.0.1.tgz,解壓到D:\tools\kafka_2.11-0.9.0.1
1.拷貝conf/server.properties為
第一個節點server-3.properties,修改如下內容:
broker.id=3
port=9093
host.name=localhost
log.dirs=D:\\tools\\kafka_2.11-0.9.0.1\\kafka-logs-9093 這裡的日誌應該是訊息佇列的日誌
zookeeper.connect=localhost:2181
第二個節點server-4.properties,修改如下內容:
broker.id=4
port=9094
host.name=localhost
log.dirs=D:\\tools\\kafka_2.11-0.9.0.1\\kafka-logs-9094
zookeeper.connect=localhost:2181
2.修改kafka_2.10-0.8.1.1\config\log4j.properties ,新增:
kafka.logs.dir=D:\\tools\\kafka_2.11-0.9.0.1\\logs 這裡的日誌應該是每一個kafka server的狀態日誌
3.啟動指令碼
第一個節點:
set JMX_PORT=19093
cd D:\tools\kafka_2.11-0.9.0.1\bin\windows
kafka-server-start.bat ..\..\config\server-3.properties
第二個節點:
set JMX_PORT=19094
cd D:\tools\kafka_2.11-0.9.0.1\bin\windows
kafka-server-start.bat ..\..\config\server-4.properties
4.建立topic批處理指令碼bin\kafka-topics.bat
kafka-run-class.bat kafka.admin.TopicCommand %*
5.建立topic
cd D:\tools\kafka_2.11-0.9.0.1\bin\windows
現在新建立一個topic, replication-factor表示該topic需要在不同的broker中儲存幾份,這裡replication-factor設定為2, 表示在兩個broker中儲存。partitions表示對topic日誌的分割槽數量。
kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 2 --partitions 3 --topic my-replicated-topic
6.檢視topic描述資訊
cd D:\tools\kafka_2.11-0.9.0.1\bin\windows
檢視topic列表
kafka-topics.bat --list --zookeeper localhost:2181
檢視一個topic的詳細資訊
kafka-topics.bat --describe --zookeeper localhost:2181 --topic my-replicated-topic
輸出結果
Topic:my-replicated-topic PartitionCount:3 ReplicationFactor:2 Configs:
Topic: my-replicated-topic Partition: 0 Leader: 3 Replicas: 3,2 Isr: 3,2
Topic: my-replicated-topic Partition: 1 Leader: 2 Replicas: 2,3 Isr: 2,3
Topic: my-replicated-topic Partition: 2 Leader: 3 Replicas: 3,2 Isr: 3,2
Leader: 如果有多個brokerBroker儲存同一個topic,那麼同時只能有一個Broker負責該topic的讀寫,其它的Broker作為實時備份。負責讀寫的Broker稱為Leader.
Replicas : 表示該topic的0分割槽在3號和2號broker中儲存,這裡列出儲存該分割槽的所有節點,不管該節點是否在服務中。
Isr : 表示正在服務中的broker, Isr是Replicas的子集
7.生產topic訊息
kafka-console-producer.bat --broker-list localhost:9093 --topic my-replicated-topic
此時命令列游標移到下一行,這裡在等待你輸入要傳送的訊息。可以隨意輸入一些字串。
8.消費topic訊息
kafka-console-consumer.bat --zookeeper localhost:2181 --from-beginning --topic my-replicated-topic
此時這裡會接收到你之前傳送的訊息,如果繼續傳送訊息,這裡會持續接收到訊息。