一、启动kafka

【kafka_2.13-3.3.1】
【zookeeper-3.4.14】

2.13-3.3.1:前面部分2.13其实是scala的版本(kafka是scala编写的),后面三位3.3.1就是真正的 kafka 版本

2.2 及更高版本 Kafka,不再需要 ZooKeeper 连接字符串,即- -zookeeper localhost:2181。使用–bootstrap-server localhost:9092来替代

# 启动zookeeper
./zkServer.sh start
# 启动kafka
nohup ./kafka-server-start.sh  ../config/server.properties &

二、查看命令

# 查看正在使用的所有topic名
./kafka-topics.sh --list --bootstrap-server localhost:9092
# 查看topic分区数量
./kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic web
# 查看消费者列表
./kafka-consumer-groups.sh --bootstrap-server :9092 --group test-watermarker --describe
# watch查看消费者列表
watch -d "./kafka-consumer-groups.sh --bootstrap-server :9092 --group test-watermarker --describe"

三、创建topic

# 创建topic
./kafka-topics.sh --bootstrap-server localhost:9092 --create --topic web --replication-factor 1 --partitions 3

四、生产者

./kafka-console-producer.sh --bootstrap-server localhost:9092 --topic web

五、消费者

注意:消费前,确定topic已经创建成功!!!!

# 默认从最新消费
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic web
# 从最开始消费
./kafka-console-consumer.sh --bootstrap-server 39.105.12.10:9092 --topic web --from-beginning

六、修改topic

./kafka-topics.sh --alter --bootstrap-server localhost:9092 --topic jzjy1_01 --partitions 5

七、删除topic

大佬在线解答交流圈子,783092701

# 查询kafka中的topic
./kafka-topics.sh --list --bootstrap-server localhost:9092
# 删除指定的topic
./kafka-topics.sh --delete --bootstrap-server localhost:9092 --topic mytopic
# 查询是否删除
./kafka-topics.sh --list --bootstrap-server localhost:9092
# 删除zookeeper中的topic
./zkCli.sh
ls /brokers/topics
rmr /brokers/topics/mytopic

ls /config/topics
rmr /config/topics/mytopic

ls /admin/delete_topics
rmr /admin/delete_topics/mytopic

进入到kafka的log.dirs(server.properties中有配置)的路径中删除整个文件夹或者删除对应的数据(如:mytopic-0)

注意
1、使用方法1中kafka命令删除时后,log.dirs中的数据会首先标记为mytopic-0.78d282e0f72c4804b2eaa0c3c434b656-delete 过几秒中后kafka会自动删除该日志数据,所以推荐方法1删除topic,省略了一步
2、方法2相对于方法1除了不能主动删除日志数据外,它俩是相同的,即在kafka中删除后,同时zookeeper中也被删除了,反之亦然
复制代码
3、说明
1)有些版本需要在server.properties中添加delete.topic.enable=true
2)使用方法1删除,出现如下提示是正常的,查询结果topic不显示(marked for deletion)即可
Topic topic_deal is marked for deletion.
Note: This will have no impact if delete.topic.enable is not set to true.
3)执行删除命令,需要关闭topic与之对应的生产者和消费者
4)如果还是无法删除,就重启kafka和zookeeper再执行删除

Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐