一、安装Kafka
官方快速安装文档:http://kafka.apache.org/quickstart
安装kafka
下载最新版本kafka
[root@Basic apps]# wget http://mirrors.shu.edu.cn/apache/kafka/1.1.0/kafka_2.11-1.1.0.tgz
[root@Basic apps]# tar -zxvf kafka_2.11-1.1.0.tgz
启动zookeeper服务
[root@Basic apps]# cd kafka_2.11-1.1.0
如果本地有zookeeper,可以启动本地安装的zookeeper,如果没有就使用kafka自带的zookeeper
[root@Basic kafka_2.11-1.1.0]# bin/zookeeper-server-start.sh config/zookeeper.properties
[2018-02-27 05:43:09,969] INFO tickTime set to 3000 (org.apache.zookeeper.server.ZooKeeperServer)
[2018-02-27 05:43:09,970] INFO minSessionTimeout set to -1 (org.apache.zookeeper.server.ZooKeeperServer)
[2018-02-27 05:43:09,971] INFO maxSessionTimeout set to -1 (org.apache.zookeeper.server.ZooKeeperServer)
[2018-02-27 05:43:10,060] INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory)
启动kafka服务
[root@Basic kafka_2.11-1.1.0]# bin/kafka-server-start.sh config/server.properties
二、Kafka操作
1. 创建Topic
创建一个名叫kafka_test, 一个复制因子一个分区的Topic
[root@Basic kafka_2.11-1.1.0]# bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic kafka_test
WARNING: Due to limitations in metric names, topics with a period ('.') or underscore ('_') could collide. To avoid issues it is best to use either, but not both.
Created topic "kafka_test".
2. 列出所有Topic
[root@Basic kafka_2.11-1.1.0]# bin/kafka-topics.sh --list --zookeeper localhost:2181
kafka_test
3. 连接生产者,发送消息
[root@Basic kafka_2.11-1.1.0]# bin/kafka-console-producer.sh --broker-list localhost:9092 --topic kafka_test
> hello, kafka
4. 创建一个消费者,接收消息
[root@Basic kafka_2.11-1.1.0]# bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic kafka_test --from-beginning
hello, kafka
旧版本过时方式:
[root@Basic kafka_2.11-1.1.0]# bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic kafka_test --from-beginning
from-beginning 表示从第一条记录开始读,即使已经生产者发送过很早条消息,并且已经有消费者读了很多条了, 这个消费者也能从第一条重新开始读,并且不影响其他消费者读的偏移量。
5. 查看Topic状态
[root@Basic kafka_2.11-1.1.0]# bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic kafka_test
Topic:kafka_test PartitionCount:1 ReplicationFactor:1 Configs:
Topic: kafka_test Partition: 0 Leader: 0 Replicas: 0 Isr: 0