一、下载kafka & 解压 & 启动
核心步骤
- 启动zookeeper
 - 启动kafka
 
详细步骤
1,启动zookeeper
KafKa安装包内已包含Zookeeper
1)解压
2)启动zookeeper
nohup ./zookeeper-server-start.sh ../config/zookeeper.properties &
3)检验zookeeper的启动是否正常
ps -ef | grep zookeeper
jps -v
4)Kafka中的zookeeper-shell.sh
使用kafka bin目录中的zookeeper-shell.sh来查看kafka在zookeeper中的配置
bin/zookeeper-shell.sh 127.0.0.1:2181
【1】Kafka中的zookeeper-shell.sh
【2】Zookeeper 在 Kafka 中的作用:https://www.jianshu.com/p/a036405f989c
5)启动kafka
nohup ./kafka-server-start.sh ../config/server.properties &
若启动有问题可以查看启动日志
less ../logs/server.log
6)检验kafka的启动是否正常
ps -ef | grep kafka
jps -v
二、kafka的简单实用
1,创建topic
% ./kafka-topics.sh --create --zookeeper 127.0.0.1:2181 --replication-factor 1 --partitions 1 --topic test
Created topic test.
2,查看topic
1)查看所有的topic
% ./kafka-topics.sh --list --zookeeper 127.0.0.1:2181
test
2)查看topic的描述
test为topic的名称
% ./kafka-topics.sh --describe --zookeeper 127.0.0.1:2181 --topic test
Topic: test TopicId: BWuclKDqTAay1TH8L1scUg PartitionCount: 1   ReplicationFactor: 1    Configs:
    Topic: test Partition: 0    Leader: 0   Replicas: 0 Isr: 0
3,生产消费信息
1)启动生产者(控制台)
./kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic test
2)启动消费者(控制台)
./kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic test
3)从头消费全部信息
./kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic test --from-beginning
三、Java代码生产消费Kafka
Java生产和消费Kafka数据的demo
github地址:https://github.com/TenShenSun/kafka-project/tree/main/kafka-demo
四、查看消费情况
- 查看当前所有的消费组
 
./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list
- 查看消费组涉及的topic的消费情况
 
./kafka-consumer-groups.sh --describe --bootstrap-server localhost:9092 --group group-1
image.png
返回字段说明:
- Group : 消费者组
 - TOPIC : topic的名字
 - PARTITION: 分区号
 - CURRENT-OFFSET : kafka消费者在对应分区上已经消费的消息数【位置】
 - LOG-END-OFFSET : 已经写到该分区的消息数【位置】
 - Lag : 还有多少消息未读取(Lag = logSize - Offset)
 
五、参考文档
【1】Kafka官网:http://kafka.apache.org/downloads
【2】Kafka单机单节点部署
【3】Kafka中的zookeeper-shell.sh
【4】Zookeeper 在 Kafka 中的作用:https://www.jianshu.com/p/a036405f989c
【5】java版本的Kafka消息写入与读取
【6】通过kafka提供的命令来查看offset消费情况
【7】kafka 消费者offset记录位置和方式














网友评论