kafka---命令使用

 新版本中:--bootstrap-server localhost:9092  可以替换老版本的  --zookeeper localhost:2181 

查找所有的topic

 kafka-topics.bat --bootstrap-server localhost:9092 --list

__consumer_offsets(新版本把offset放到一个专门的topic中,老版本是存放在zookeeper里面)
first
testTopic 

注意:是新版本把offset放到__consumer_offsets 这个topic中,老版本是存放在zookeeper里面,当消费者消费每消费一条数据的时候,会往__consumer_offsets里面插入一条数据

创建topic : topic名称:first  备份数:1 分区数:3

kafka-topics.bat --bootstrap-server localhost:9092 --create --replication-factor 1 --partitions 3 --topic first

当设置的备份数超过 broker数量的时候,如当前broker数为1 ,但是设置 备份数为 3,会报错

Error while executing topic command : Replication factor: 3 larger than available brokers: 1.
[2021-11-12 16:37:29,417] ERROR org.apache.kafka.common.errors.InvalidReplicationFactorException: Replication factor: 3 larger than available brokers: 1.
 (kafka.admin.TopicCommand$)

在日志目录中会创建三个文件,一个分区一个文件

log文件是存放数据的,默认log文件最大只能存放1G的数据

log文件名,代表的是此文件中最小的offset

查看所有topic

kafka-topics.bat --bootstrap-server localhost:9092 --describe --topic first

 Topic: first    PartitionCount: 3       ReplicationFactor: 1    Configs:
        Topic: first    Partition: 0    Leader: 0       Replicas: 0     Isr: 0
        Topic: first    Partition: 1    Leader: 0       Replicas: 0     Isr: 0
        Topic: first    Partition: 2    Leader: 0       Replicas: 0     Isr: 0

 其中 Leader/Replicas/Isr  后面的是 broker id因为,我现在部署的只有一台broker,而且broker.id是配置0

一个分区有一个Leader,此时这里副本数 为 1,所有Replicas 副本只有 Leader

Isr:是用于副本之间的选举用的,当 分区Leader那台所在的服务器挂了,则分区副本 需要进行选举,除了当前  Leader ,靠前的优先选举Leader成功

查看topic执行分区的offset的最大值(--time -1)和最小值(--time -2)

sh kafka-run-class.sh kafka.tools.GetOffsetShell --topic filebeat  --time -1 --broker-list 10.226.21.35:9092

filebeat:0:2136524
filebeat:1:2136507
filebeat:2:2136150

查看所有消费组

kafka-consumer-groups.bat --bootstrap-server localhost:9092 --list

yc-testTopic

查看消费组的消息堆积情况

kafka-consumer-groups.bat --bootstrap-server localhost:9092 --describe --group yc-testTopic

Consumer group 'yc-testTopic' has no active members.(我当前的消费者服务被停掉了)

 CURRENT-OFFSET:表示当前的offset

 LOG-END-OFFSET:表示最大的那个offset

则LAG堆积数量为:LOG-END-OFFSET- CURRENT-OFFSET ,造成这个原因是我把消费者线程给停掉了,生产了1千万多条数据没有被消费

消费指定topic中的数据

kafka-console-consumer.bat --bootstrap-server localhost:9092  testTopic

 上述命令没有指定消费组,则会自动创建一个消费组:console-consumer-81506,81506是group.id  ,如果不需要自动创建group.id,可以加入-group xxx参数即可

生产者指定topic发送消息 

kafka-console-producer.bat --broker-list localhost:9092 --topic first1

当topic first1不存在的时候,会根据kafka中server.properties配置 自动创建一个分区数为1,副本数为1,名为 first1的topic

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值