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:查看当前运行进程的详细信息