本教程假設你正在從頭開始,而且沒有任何Kafka或ZooKeeper數據,因爲基於unix和Windows平臺的Kafka控制檯腳本不一樣,在Windows平臺上使用bin\windows\
而不是bin/
,並將腳本擴展名更改成.bat
。apache
下載2.0.0版本並解壓tar文件。windows
> tar -xzf kafka_2.11-2.0.0.tgz > cd kafka_2.11-2.0.0
Kafka使用ZooKeeper,因此若是沒有的話,你須要先啓動一個ZooKeeper服務,你能夠使用與kafka打包的便利腳原本得到一個快速而不純淨的單節點ZooKeeper實例。服務器
> bin/zookeeper-server-start.sh config/zookeeper.properties [2013-04-22 15:01:37,495] INFO Reading configuration from: config/zookeeper.properties (org.apache.zookeeper.server.quorum.QuorumPeerConfig) ...
如今啓動Kafka服務:socket
> bin/kafka-server-start.sh config/server.properties [2013-04-22 15:01:47,028] INFO Verifying properties (kafka.utils.VerifiableProperties) [2013-04-22 15:01:47,051] INFO Property socket.send.buffer.bytes is overridden to 1048576 (kafka.utils.VerifiableProperties) ...
讓咱們建立一個分區和一個副本的名爲「test」的主題:命令行
> bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
若是運行list topic
命令,就能夠看到這個主題:代理
> bin/kafka-topics.sh --list --zookeeper localhost:2181 test
另外,你也能夠將代理配置爲在發佈不存在的主題時自動建立主題,而不是手工建立主題。unix
Kafka附帶一個命令行客戶端,該客戶端將從文件或標準輸入接收輸入,並將其做爲消息發送到Kafka集羣,默認狀況下,每一行將做爲單獨的消息發送。code
運行該生產者,而後將一些消息輸入到控制檯,以發送到服務器。server
> bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test This is a message This is another message