kafka 系列(一)—kafka常用操作总结

kafka启动
./kafka-server-start.sh -daemon ../config/server.properties
帮助信息
kafka-topics --help
创建Topic
bin/kafka-topics.sh --create --topic test0 --zookeeper 127.0.0.1:2181/kafka --config max.message.bytes=12800000 --config flush.messages=1 --partitions 5 --replication-factor 1

说明:

–topic后面的test0是topic的名称

–zookeeper应该和server.properties文件中的zookeeper.connect一样

–config指定当前topic上有效的参数值

–partitions指定topic的partition数量,如果不指定该数量,默认是server.properties文件中的num.partitions配置值

–replication-factor指定每个partition的副本个数,默认1个

查看当前Kafka集群中Topic的情况
bin/kafka-topics.sh --list --zookeeper 127.0.0.1:2181/kafka

列出该zookeeper中记录在案的topic列表,只有名字

查看Topic的分区和副本情况

命令:

bin/kafka-topics.sh --describe --zookeeper 127.0.0.1:2181/kafka  --topic test0
kafka生产消息
bin/kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic test0
kafka消费消息
bin/kafka-console-consumer.sh -zookeeper 127.0.0.1:2181/kafka --from-beginning --topic test0
查看topic消费到的offset

命令:

bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list 127.0.0.1:9092 --topic test0 --time -1
查看topic各个分区的消息的信息
bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --group testgroup --topic test0 --zookeeper 127.0.0.1:2181/kafka
修改topic的partition数量(只能增加不能减少)
bin/kafka-topics.sh --alter --zookeeper 127.0.0.1:2181/kafka --partitions 10 --topic test0
修改topic的副本数
bin/kafka-reassign-partitions.sh --zookeeper 127.0.0.1:2181/kafka --reassignment-json-file addReplicas.json --execute

  • addReplicas.json如下:
{

   "version": 1,

   "partitions": [

       {

           "topic": "test0",

           "partition": 0,

           "replicas": [

                1,2

           ]

       },

       {

           "topic": "test0",

           "partition": 1,

           "replicas": [

                1,2,3

           ]

       },

       {

           "topic": "test0",

           "partition": 2,

           "replicas": [

                1,2,3

           ]

       }

    ]

}
删除topic

比如删除test0这个topic

1,删除kafka的topic

命令:

bin/kafka-topics.sh –delete –zookeeper 127.0.0.1:2181/kafka –topic test0

如果server.properties中没有把delete.topic.enable设为true,那么此时的删除并不是真正的删除,而是把topic标记为:marked for deletion

2,删除kafka中该topic相关的目录。

在server.properties中找到配置log.dirs,把该目录下test0相关的目录删掉

3,登录zookeeper client。

命令:

/home/ZooKeeper/bin/zkCli.sh

4,删除zookeeper中该topic相关的目录

命令:

rm -r /kafka/config/topics/test0

rm -r /kafka/brokers/topics/test0

rm -r /kafka/admin/delete_topics/test0 (topic被标记为marked for deletion时需要这个命令)

5,重启zookeeper和broker

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值