kafka java api 删除_使用Java API创建(create),查看(describe),列举(list),删除(delete)Kafka主题(Topic)...

使用Kafka的同学都知道,我们每次创建Kafka主题(Topic)的时候可以指定分区数和副本数等信息,如果将这些属性配置到server.properties文件中,以后调用Java API生成的主题将使用默认值,先改变需要使用命令bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic my-topic --config max.message.bytes=128000显示的修改,我们也希望将此过程在Producer调用之前通过API的方式进行设定,无需在之前或之后使用脚本进行操作,所以才了这篇文章。查看源码发现,其实内部所有的实现都是通过TopicCommand的main方法,在此记录两种方式:

1、创建主题(Topic)

【命令方式】:bin/kafka-topics.sh --zookeeper zk_host:port/chroot --create --topic my_topic_name --partitions 20 --replication-factor 3 --config x=y

【JAVA API方式】:

String[] options = new String[]{

"--create",

"--zookeeper",

"zk_host:port/chroot",

"--partitions",

"20",

"--topic",

"my_topic_name",

"--replication-factor",

"3",

"--config",

"x=y"

};

TopicCommand.main(options);

2、查看所有主题

【命令方式】:bin/kafka-topics.sh --list --zookeeper localhost:2181

【JAVA API方式】:

String[] options = new String[]{

"--list",

"--zookeeper",

"localhost:2181"

};

TopicCommand.main(options);

3、查看指定主题:

【命令方式】:bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic

【JAVA API方式】:

String[] options = new String[]{

"--describe",

"--zookeeper",

"localhost:2181",

"--topic",

"my-replicated-topic",

};

TopicCommand.main(options);

4、修改主题:

【命令方式】:bin/kafka-topics.sh --zookeeper zk_host:port/chroot --alter --topic my_topic_name --deleteConfig x

【JAVA API方式】:

String[] options = new String[]{

"--alter",

"--zookeeper",

"zk_host:port/chroot",

"--topic",

"my_topic_name",

"--deleteConfig",

"x"

};

TopicCommand.main(options);

5、删除出题:

【命令方式】:无

【JAVA API方式】:

String[] options = new String[]{

"--zookeeper",

"zk_host:port/chroot",

"--topic",

"my_topic_name"

};

DeleteTopicCommand.main(options);

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值