1. 主要配置 config/server.properties
(1) broker.id=0 # 集群中,每個 kafka 實例的值都不一樣
(2) log.dirs=/tmp/kafka-logs #日志文件的位置
(3) zookeeper.connect=bigdata3:2181,bigdata4:2181,bigdata5:2181 # zookeeper 集群的配置
如果不使用集群,則可以用不配置 zookeeper.connect 這一項,此時需要先運行下面的命令,啟動一個本地的 zookeeper:
bin/zookeeper-server-start.sh config/zookeeper.properties
2. 啟動 kafka : bin/kafka-server-start.sh config/server.properties
3. 創建一個 topic: bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
此命令為 test 這個 topic 創建了一個分區,副本數為 1,這種情況下,所有 topic 的數據都會存在一個分區上,且只有一份。在 kafka 集群模式下,應該增加 partitions 和 replication-factor 的值。
zookeeper 為集群模式時, --zookeeper 的值應該是上面 1 中配置的值,如果只寫一個 zookeeper 的地址,只要那個 zookeeper 沒有死掉,仍然是可以正確運行的。下面命令中的此值做同樣處理。
4. 查看有哪些 topic: bin/kafka-topics.sh --list --zookeeper localhost:2181
5. 啟動一個生產者,可以往kafka 中發送消息: bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
6. 啟動一個消費者,消費kafka 中的消息: bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
7. 查看哪個topic 的詳細信息: bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic
8. kafka 集群。只要在另外一台電腦上,把 config/server.properties 中的 broker.id 配置成不同的值,然后啟動 kafka 就可以了。
