备注: Kafka的新老版本以 scala 的版本作为区分
新老版本区分条件
###
ls /data/kafka2.4/libs/*-javadoc.jar
/data/kafka2.4/libs/kafka_2.11-2.4.1-javadoc.jar
- 如果scala为2.11 --- 老版本
- 如果scala为2.12 --- 新版本
新老版本Kafka启动方式(两者一致):
##
本文博客地址: https://blog.csdn.net/knight_zhou/article/details/105029521
##
bin/zookeeper-server-start.sh config/zookeeper.properties # 启动内置zk
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties # 使用守护进程启动
bin/kafka-server-start.sh onfig/server.properties # 前台启动Kafka
bin/kafka-server-start.sh -daemon config/server.properties # daemon方式启动Kafka
(1)新版本Kafka命令行参数(kafka_2.11-2.3.0 为例):
##创建topic
./kafka-topics.sh --create --bootstrap-server k1.cn:9092 --replication-factor 1 --partitions 1 --topic xxoo
#查看topic
./kafka-topics.sh --list --bootstrap-server k1.cn:9092
# topic 描述
./kafka-topics.sh --describe --zookeeper k1.cn:2181 --topic xxoo
# producer(控制台向topic生产数据)
./kafka-console-producer.sh --broker-list k1.cn:9092 --topic xxoo
>this is a message
>this is another message
##consumer(控制台消费topic的数据2)
./kafka-console-consumer.sh --bootstrap-server k1.cn:9092 --topic xxoo --from-beginning
this is a message
this is another message
## 查看某一个topic对应的消息数量
./kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list k1.cn:9092 --topic xxoo --time -1
## 新版本的消费者组名和它要消费的那个topic的offset信息就会被记录在broker服务器上,老版本存在zookeeper上
./kafka-consumer-groups.sh --bootstrap-server k1.cn:9092 --list
./kafka-consumer-groups.sh --bootstrap-server kafka01.qq.cn:9092,kafka02.qq.cn:9092,kafka03.qq.cn:9092 --list
##删除消费组
./kafka-consumer-groups.sh --bootstrap-server 192.168.100.11:9092 --delete --group py-test
##查看消费组的的列表
./kafka-consumer-groups.sh --list --bootstrap-server 192.168.100.11:9092
或者
./kafka-consumer-groups.sh --bootstrap-server k1.cn:9092 xxoo --list
## 查看特定消费组的情况
./kafka-consumer-groups.sh --bootstrap-server 192.168.100.11:9092 --group py-test --describe
(2)旧版本Kafka命令行参数(kafka_2.11-2.0.0 为例)
# 查看topic
./kafka-topics.sh --list --zookeeper k1.cn:2181
## topic描述
./kafka-topics.sh --describe --zookeeper k1.cn:2181 --topic xxoo
## 创建topic
./kafka-topics.sh --create --zookeeper k1.cn:2181 --replication-factor 1 --partitions 1 --topic xxoo
# topic 查看信息
# /usr/local/kafka/bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic xx
# 分区扩展,增加分区
# ./bin/kafka-topics.sh --alter --topic xx --zookeeper localhost:2181 --partitions 24
### 备注: kafka不支持减少分区
## consumer(控制台消费topic的数据2)
./kafka-console-consumer.sh --bootstrap-server k1.cn:9092 --topic xxoo --from-beginning
# 指定消费组消费
./kafka-console-consumer.sh --bootstrap-server k1.cn:9092 --topic xxoo --group xx-group
### 生产数据
./kafka-console-producer.sh --broker-list k1.cn:9092 --topic xxoo
## 查看某一个topic对应的消息数
./kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list k1.cn:9092 --topic xxoo --time -1
## delete topic
./kafka-topics --delete --zookeeper k1.cn:2181 --topic javadaemon
# 查看消费组列表
./kafka-consumer-groups.sh --list --bootstrap-server localhost:9092
./kafka-consumer-groups.sh --list --bootstrap-server kafka01.car.cn:9092
# 查看指定消费组以及连接的ip地址
./kafka-consumer-groups.sh --bootstrap-server 192.168.0.2:9092 --describe --group vmsOperationLogGroup|grep vms-road_fee
## 查看指定消费组的堆积情况
./kafka-consumer-groups.sh --bootstrap-server kafka01.car.cn:9092 --describe --group knight_group
## 查看指定分区的信息
# /usr/local/kafka/bin/kafka-topics.sh --describe --zookeeper IP:2181 --topic test
清理openapi-AccessLog-Rest指定保留2天
# /usr/local/kafka/bin/kafka-configs.sh --zookeeper IP:2181 --entity-type topics --entity-name test --alter --add-config retention.ms=172800000