一、安裝:java
1.1. 前置安裝要求:java + zookeeperapache
1.2. 下載安裝包:http://mirros.cnnic.cn/apache/kafka/0.9.00/kafka_2.10-0.9.0.0.tgz服務器
1.3. 執行安裝命令:kafka-server-start.sh ../config/server.properties &spa
二、基本組件3d
2.1 Producer: 消息生產者server
2.2 Consumer: 消費消費者blog
2.3 Broker:一臺kafka服務器被稱爲一個broker,整個集羣可由多個 Broker組成隊列
2.4 Partition:一個Topic在物理上能夠劃分爲多個Partition,每一個Partition能夠理解爲獨立的物理隊列(文件載體),kafka
該Partition能夠被負載到不一樣的Broker上實現Kafka的水平擴展;消息隊列
2.5 Topic:消息隊列
三、經常使用的命令
3.1 建立一個topic
./kafka-topics.sh --zookeeper localhost:2181 --create --topic test01 --partitions 3 --replication-factor 1
3.2 查看當前全部的topic
./kafka-topics.sh --zookeeper localhost:2181 --list
3.3 在控制檯啓動一個生產者
./kafka-console-producer.sh --broker-list localhost:9092 --topic test01
3.4 在控制檯啓動一個消費者
./kafka-console-consumer.sh --zookeeper localhost:2181 --topic test01 --from-beginning
3.5 啓動一個消費者並制定消費者組
./kafka-console-consumer.sh --consumer.config ../config/consumer.properties --zookeeper localhost:2181 --topic test01 --from-beginning
在consumer.properties中設置消費者組,一個消費者組能夠包含多個消費者
#consumer group id
group.id=tg
3.6 查看某個topic的消費進度,必須以消費者組爲單位
./kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --group tg01 --zookeeper localhost:2181
如上例,不一樣的消費者組對於用一個topic,讀的進度(偏移)是不同的
3.7 查看topic詳情
./kafka-topics.sh --describe --zookeeper localhost:2181 --topic test02