1、安装:
1.1. 前置安装要求:java + zookeeper
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 &
2、基本组件
2.1 Producer: 消息生产者
2.2 Consumer: 消费消费者
2.3 Broker:一台kafka服务器被称为一个broker,整个集群可由多个 Broker组成
2.4 Partition:一个Topic在物理上可以划分为多个Partition,每个Partition可以理解为独立的物理队列(文件载体),
该Partition可以被负载到不同的Broker上实现Kafka的水平扩展;
2.5 Topic:消息队列
3、常用的命令
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