本文小编为大家详细介绍“Kafka之kafka-topics.sh如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Kafka之kafka-topics.sh如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。参数说明:–create
是创建主题的的动作指令。–zookeeper
指定kafka所连接的zookeeper服务地址。–replicator-factor
指定了副本因子(即副本数量); 表示该topic需要在不同的broker中保存几份,这里设置成1,表示在两个broker中保存两份Partitions分区数。–partitions
指定分区个数;多通道,类似车道。–topic
指定所要创建主题的名称,比如test。成功则显示:显示:test
显示:发送端输入:消费端显示:创建、修改、删除以及查看等功能。/bin目录下的每一个脚本工具,都有着众多的参数选项,不可能所有命令都记得住,这些脚本都可以使用 –help 参数来打印列出其所需的参数信息。副本数量不能大于broker的数量。kafka 创建主题的时候其副本数量不能大于broker的数量,否则创建主题 topic 失败。报错:Error while executing topic command : Replication factor: 2 larger than available brokers: 1.
[2022-11-24 14:08:18,745] ERROR org.apache.kafka.common.errors.InvalidReplicationFactorException: Replication factor: 2 larger than available brokers: 1.
(kafka.admin.TopicCommand$)注意:副本数量和分区数量的区别。创建主题时候,有3个参数是必填的:–partitions
(分区数量)、–topic
(主题名) 、–replication-factor
(复制系数),同时还需使用 –create 参数表明本次操作是想要创建一个主题操作。返回显示:另外在创建主题的时候,还可以附加以下两个选项:–if-not-exists 和 —免费云主机域名if-exists . 第一个参数表明仅当该主题不存在时候,创建; 第二个参数表明当修改或删除这个主题时候,仅在该主题存在的时候去执行操作。–list。结果显示:__consumer_offsets
test
test1–describe。结果显示:Topic:test1 PartitionCount:1 ReplicationFactor:1 Configs:
Topic: test1 Partition: 0 Leader: 0 Replicas: 0 Isr: 0–alter。结果显示:WARNING: If partitions are increased for a topic that has a key, the partition logic or ordering of the messages will be affected
Adding partitions succeeded!查看主题信息:可以看到已经成功的将主题的分区数量从1修改为了2。当去修改一个不存在的topic信息时(比如修改主题 test2,当前这主题是不存在的)。会报错:Error while executing topic command : Topic test2 does not exist on ZK path localhost:2181
[2022-11-24 14:21:33,564] ERROR java.lang.IllegalArgumentException: Topic test2 does not exist on ZK path localhost:2181
at kafka.admin.TopicCommand$.alterTopic(TopicCommand.scala:123)
at kafka.admin.TopicCommand$.main(TopicCommand.scala:65)
at kafka.admin.TopicCommand.main(TopicCommand.scala)
(kafka.admin.TopicCommand$)注意:不要使用 –alter 去尝试减少分区的数量,如果非要减少分区的数量,只能删除整个主题 topic, 然后重新创建。–delete。日志信息提示,主题 test1已经被标记删除状态,但是若delete.topic.enable 没有设置为 true , 则将不会有任何作用。Topic test1 is marked for deletion.
Note: This will have no impact if delete.topic.enable is not set to true.可以测试一些:发现此时还是可以发送消息和接收消息。如果要支持能够删除主题的操作,则需要在 /bin 的同级目录 /config目录下的文件server.properties中,修改配置delete.topic.enable=true(如果置为false,则kafka broker 是不允许删除主题的)。然后就重启kafka:再次删除就可以了。读到这里,这篇“Kafka之kafka-topics.sh如何使用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注百云主机行业资讯频道。
相关推荐: iOS开发怎么创建frame实现window窗口view视图
本篇内容主要讲解“iOS开发怎么创建frame实现window窗口view视图”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“iOS开发怎么创建frame实现window窗口view视图”吧!要在屏幕上显示内容首先要…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。