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]*’
前台启动kafka:
./kafka-server-start.sh ../config/server.properties
后台启动kafka:
./kafka-server-start.sh ../config/server.properties 1>/dev/null 2>&1 &
指定监听端口
JMX_PORT=2898 ./
kafka-server-start.sh ../config/server.properties 1>/dev/null 2>&1 &