kafka一些常用命令(持续更新)

来源:互联网 发布:app数据接口怎么写 编辑:程序博客网 时间:2024/04/30 06:08

1、彻底删除topic数据

./kafka-topics.sh -delete –zookeeper 192.168.1.15:2181,192.168.1.16:2181,192.168.1.17:2181 -topic TOPIC_BILLPHONES_TEST5

操作步骤主要包括如下:

  1、删除Topic;  2、删除log日志;  3、删除ZK中的Topic记录

第一步:删除Topic

运行./kafka-topics.sh -delete -zookeeper [zookeeper server] -topic [topic name];如果kafka启动时加载的配置文件server.properties没有配置delete.topic.enable = true,那么此时的删除并不是真正的删除。而只是把topic标记为:marked for deletion,此时就需要执行第3步的操作;

第三步:删除ZK中的Topic记录

示例如下:

 A.运行./zkCli.sh -server AAA:2181,BBB:2181,CCC:2181 B.进入/admin/delete_topics目录下,找到删除的topic,删除对应的信息。

删除 ls /config/topics/topicname 和 ls /brokers/topics/topicname
以上两步全执行才会彻底删除

2、创建topic

./bin/kafka-topics.sh –zookeeper 192.168.2.225:2183/config/mobile/mq –create –topic test.example –replication-factor 2 –partitions 24
–topic指定topic name
–partitions指定分区数,这个参数需要根据broker数和数据量决定,正常情况下,每个broker上两个partition最好;
–replication-factor指定partition的replicas数,建议设置为2;

创建一个名为“test123”的Topic,只有一个分区和一个备份

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

查看topic

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

启动一个producer 生产者

./kafka-console-producer.sh –broker-list 10.3.18.159:9092 –topic test123

启动一个消费者 consumer

./kafka-console-consumer.sh –zookeeper localhost:2181 –topic test123 –from-beginning

获得kafka的版本

cd /usr/local/kafka
find ./libs/ -name *kafka_* | head -1 | grep -o ‘\kafka[^\n]*’