kafka2.x常用命令:创建topic,查看topic列表、分区、副本详情,删除topic,测试topic发送与消费

这篇具有很好参考价值的文章主要介绍了kafka2.x常用命令:创建topic,查看topic列表、分区、副本详情,删除topic,测试topic发送与消费。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

原创/朱季谦

接触kafka开发已经两年多,也看过关于kafka的一些书,但一直没有怎么对它做总结,借着最近正好在看《Apache Kafka实战》一书,同时自己又搭建了三台kafka服务器,正好可以做一些总结记录。

本文主要是记录如何在kafka集群服务器上创建topic,查看topic列表、分区、副本详情,删除topic,测试topic发送与消费,算是最基础的操作了,当然,不同版本其实指令是有所差异的,本文只针对kafka 2.x版本。虽然这些指令都很简单,但久不用了,很容易就会忘记,所谓好记性不如烂笔头,记录下来会更好。

主要写给一些刚接触kafka的小白,大神请自行绕路。

最后,推荐两本写kafka的书,我觉得挺不错的,一本是关于原理的《深入理解kafka:核心设计与实践原理》,一本就是我现在在看的,比较偏实际开发工作的《Apache Kafka实战》。这两本我觉得比较容易看懂,当然,我是先看的第一本,当时记录了一堆笔记,笔记目前放在我的GitHub上:GitHub - z924931408/Learning-Notes-document: 本仓库用于存储个人学习笔记。

kafka了解topic对应的分区副本信息 脚本,大数据,kafka

我会一步一步记录,从简到原理。

1、创建一个名为test-topic的topic,该topic有3个分区,每个分区分配3个副本——

./kafka-topics.sh --zookeeper zk1:2181,zk2:2181,zk3:2181 --create --topic test-topic --partitions 3 --replication-factor 3

创建成功时,会提示:Created topic test-topic.

2、查看kafka集群已有topic列表——

./kafka-topics.sh --zookeeper zk1:2181,zk2:2181,zk3:2181 -list

查询情况会显示出所有的topic名——

kafka了解topic对应的分区副本信息 脚本,大数据,kafka

3、查看topic的分区与备份详细情况——

./kafka-topics.sh --zookeeper zk1:2181,zk2:2181,zk3:2181 --describe --topic test-topic

例如,我在虚拟机上查看如下

kafka了解topic对应的分区副本信息 脚本,大数据,kafka

PartitionCount:表示总共有3个分区;

ReplicationFactor:表示每个分区有3个副本备份;

该kafka集群分布部署在三台机器上,三个节点的id分别为0,1,2。截图当中,显示有0,1,2的字样,即分别代表了三台节点服务器,说明该test-topic三个分区各自均匀分配在三台机器上,分区的leader副本与三个follower副本同样均匀在三台机器上,这能起到防止数据丢失的作用。

最后,还有一个ISR,该参数全称,in-sync replica,它维护了一个集合,例如截图里的2,0,1,代表2,0,1副本保存的消息日志与leader 副本是保持一致的,只有保持一致的副本(包括所有副本),才会被维护在ISR集合里,当出现一定程度的不同步时,就会将该对应已经不一致的副本移出ISR集合,但是,这种移出并非永久的,一旦被移出的副本慢慢又恢复与leader一样时,那么,又会被加回isr集合当中。注意一点,只有在这个ISR里的副本服务器,才能在leader出现问题时有机会被选举为新的leader。

4、删除topic——

./kafka-topics.sh --zookeeper zk1:2181,zk2:2181,zk3:2181 --delete --topic test-topic

执行该语句后,会显示以下信息——

Topic test-topic is marked for deletion.
Note: This will have no impact if delete.topic.enable is not set to true.

翻译过来,就是说,主题test-topic标记为删除,但如果delete.topic.enable未设置为true,这将没有影响。

也就是说,如果delete.topic.enable未设置为true,即使执行了该语句,但也不会被删除,只会被标记一个删除状态而已,该delete.topic.enable参数在1.0.0版本后都是默认true,可以通过./kafka-topics.sh --zookeeper zk1:2181,zk2:2181,zk3:2181 -list指令查看,发现确实已经被删除了,当删除topic时,会将topic分区及备份所有数据都删除完,注意一点,这种删除是异步的。

5、验证集群消息发送与消费

kafka默认提供了两个脚本:kafka-console-producer.sh与kafka-console-consumer.sh。

可以直接使用这两个脚本验证集群是否能正常发送消息与消费消息。

kafka了解topic对应的分区副本信息 脚本,大数据,kafka

开启一个生产者——

 ./kafka-console-producer.sh --broker-list kafka1:9092, kafka2:9092, kafka3:9092 --topic test-topic2

在其他两台机器上分别开启两个消费者——

 ./kafka-console-consumer.sh --bootstrap-server  kafka1:9092, kafka2:9092, kafka3:9092 --topic test-topic2 --from-beginning

大概效果如下——

生产者:

kafka了解topic对应的分区副本信息 脚本,大数据,kafka

消费者:

kafka了解topic对应的分区副本信息 脚本,大数据,kafka文章来源地址https://www.toymoban.com/news/detail-775883.html

到了这里,关于kafka2.x常用命令:创建topic,查看topic列表、分区、副本详情,删除topic,测试topic发送与消费的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • kafka查看topic和消息内容命令

    ①创建一个测试用的topic ② 用Kafka的console-producer在topic test 生产消息 ③ 用Kafka的console-consumer 消费topic test的消息 ④查询topic,进入kafka目录: ⑤查询topic内容: ⑥查看topic 为 test的 详细信息 ⑦往topic 为 test的内部生产消息 ⑧从topic 为test的内部消费消息 ⑨删除kafka的测试top

    2024年02月11日
    浏览(38)
  • Kafka - Topic 消费状态常用命令

    replication-factor:指定副本数量 partitions:指定分区 查看consumer group列表有新、旧两种命令,分别查看新版(信息保存在broker中)consumer列表和老版(信息保存在zookeeper中)consumer列表,因而需要区分指定bootstrap--server和zookeeper参数 这里同样需要根据新、旧版本的consumer,分别指

    2024年01月25日
    浏览(32)
  • Kafka:主题创建、分区修改查看、生产者、消费者

    1.创建主题 2.查看所有主题 3.查看详细主题 序号从0开始计算 Partition:分区数,该主题有3个分区 Replica:副本数,该主题有3个副本 Leader:副本数中的主的序号,生产消费的对象 1.修改分区数 修改的分区数量不可以小于或者等于当前主题分区的数量,否则会报错 在根目录kaf

    2024年02月11日
    浏览(72)
  • kafka topic分区数设定

    然后假设总的目标吞吐量是Tt,那么分区数=Tt / min(Tp,Tc) 例如:producer吞吐量 = 70m/s;consumer吞吐量 =100m/s,期望吞吐量 300m/s; 分区数 = 300 / 70 = 4或者5个分区

    2024年02月02日
    浏览(33)
  • kafka topic多分区乱序问题

    [root@centos6 bin]# ./kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --replication-factor 1 --partitions 6 --topic test1 Created topic test1. [root@centos6 kafka]# cat produce_kafka.py  from kafka import KafkaProducer from kafka.errors import KafkaError import os producer = KafkaProducer(bootstrap_servers=[\\\'127.0.0.1:9092\\\']) # Asynchronous by de

    2024年02月06日
    浏览(28)
  • kafka2.x和3.x相关命令

    ##################### Kafka2.x命令 ##################### kafka-topics.sh --zookeeper n11hdp01:2181,n12hdp02:2181,n13hdp03:2181/kafka --create --replication-factor 3 --partitions 3 --topic event_oper_input kafka-topics.sh --zookeeper n11hdp01:2181,n12hdp02:2181,n13hdp03:2181/kafka --create --replication-factor 3 --partitions 3 --topic event_oper_output kafk

    2024年02月09日
    浏览(21)
  • kafka修改Topic副本数和分区数

    一 .修改Kafka Topic副本数 1.bin/kafka-topics.sh --zookeeper gw04:2181,gw05:2181,gw06:2181 --create --partitions 3 --replication-factor 3 --topic bms_clean_dwm_es11_yb ##新建测试topic bms_clean_dwm_es11_yb 2.bin/kafka-topics.sh --zookeeper gw04:2181,gw05:2181,gw06:2181 --topic bms_clean_dwm_es11_yb --describe ##查看Topic详情如下: Topic:bms_cle

    2023年04月09日
    浏览(28)
  • kafka 动态扩容现有 topic 的分区数和副本数

    文档内出现的 ${KAFKA_BROKERS} 表示 kafka 的连接地址, ${ZOOKEEPER_CONNECT} 表示 zk 的连接地址,需要替换成自己的实际 ip 地址 创建一个演示 topic 查看 topic 详情 总共是六个 kafka 节点,三分区一副本,分散在三个不同的 kafka 节点 关于输出内容的概念 分区(Partition) : 主题(Topi

    2024年02月10日
    浏览(29)
  • kafka中topic的部分分区leader为none,怎样解决?

      (以Hadoop的topic为例) 进入Zookeeper客户端查看kafka存储的信息,/kafka/brokers/topics/hadoop/partitions/1/state get /kafka/brokers/topics/hadoop/partitions/1/state 查看到 {\\\"controller_epoch\\\":33,\\\"leader\\\":-1,\\\"version\\\":1,\\\"leader_epoch\\\":25,\\\"isr\\\":[3]}  leader为-1,固分区的leader为none 修改/kafka/brokers/topics/hadoop/partitions/

    2024年02月03日
    浏览(31)
  • kafka常用查看主题,消费数据的排查命令[重要!!!]

    1.命令如下: bin/kafka-topics.sh  --list --zookeeper 10.239.192.182 2.截图如下: 1.使用的命令 bin/kafka-consumer-groups.sh --bootstrap-server 10.239.192.182:9092 --list 2.截图如下: kafka查看数据_Kafka 数据积压情况查看 - IT界的一名小学生 - 博客园 1.使用命令  bin/kafka-consumer-groups.sh --bootstrap-server 10.23

    2023年04月08日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包