1、启动 Zookeeper 服务,在 kafka 的根目录下使用命令

Kafka用到了Zookeeper,,先开启zookeeper,如下图所示:

下面用一个单实例的Zookkeeper服务,可以在命令结尾处加个&符号,这样就可以启动后离开控制台

bin/zookeeper-server-start.sh config/zookeeper.properties &

在这里插入图片描述

2、启动 kafka,在 kafka 的根目录下使用命令,如下图所示:

bin/kafka-server-start.sh config/server.properties

在这里插入图片描述

3、创建一个 topic ,在 kafka 的根目录下使用命令:

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic topic1

4、查看 kafka 的 topic 情况,在 kafka 的根目录下使用命令

bin/kafka-topics.sh --list --zookeeper localhost:2181

" --zookeeper localhost:2181"是什么意思?

–zookeeper: kafka连接zookeeper的url,和server.properties文件中
的配置项 zookeeper.connect=localhost:2181 一致

5、描述 topic,查看topic的详细信息,在 kafka 的根目录下使用命令

bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic topic1

6、生产消费:如下图所示:

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic topic1

在这里插入图片描述
7、消费者,如下图所示:

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic1 --from-beginning

在这里插入图片描述
8、删除 topic1,在 kafka 的根目录下使用命令
在这里插入图片描述
9、查看topic1是否删除

 bin/kafka-topics.sh --list --zookeeper localhost:2181

在这里插入图片描述

如果没有在kafka/config/server.properties配置:delete.topic.enable=true时,执行topic的删除命令只是把topic标记为markedfor deletion,并不是真正的删除,如果此时想彻底删除,就需要登录zookeeper客户端进行删除

10、启动zookeeper客户端,在zookeeper根目录下使用命令:

bin/zkCli.sh

在这里插入图片描述
11、找到topic所在的目录,在zookeeper客户端输入这个命令

ls /brokers/topics

在这里插入图片描述
12、删除需要彻底删除的 topic1,在zookeeper客户端输入这个命令,

deleteall /brokers/topics/topic1

在这里插入图片描述

13、 删除完成之后,可以再次查看确认一下,在zookeeper客户端输入这个命令

ls /brokers/topics

在这里插入图片描述

在 config/server.properties 中找到log.dirs,

删除log.dirs指定的文件目录,然后重新启动

14、通过下面命令验证,发现已经删除了。在 kafka 的根目录下使用命令

bin/kafka-topics.sh --list --zookeeper localhost:2181

在这里插入图片描述

15、关闭服务

先关闭Kafka,在 kafka 的根目录下使用命令

bin/kafka-server-stop.sh

再关闭Zookeeper,在 Zookeeper 的根目录下使用命令

bin/zkServer.sh stop

验证一下是否关闭,即可

 jps:查看当前运行的进程 
 #或
 jps -m:查看当前运行进程的详细信息
Logo

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

更多推荐