zoukankan      html  css  js  c++  java
  • Kafka相关命令

      创建topic

    bin/kafka-topics.sh --create --zookeeper node-01:2181 --replication-factor 4 --partitions 3 --topic test
    • partitions

        指定topic分区数。

        控制将topic分成多少个log。可以显示指定,如果不指定,会使用server.properties中的num.partitions配置的数量;

        虽然增加分区数可以提高kafka集群的吞吐量,但是过多的分区或者单台服务器上的分区数过多,会增加不可用鸡延迟的风险。因为多的分区数,需要打开多的文件句柄、增加点到点的延时、增加客户端的内存消耗;

        分区数也限制了consumer的并行度,即限制了并行consumer消息的线程数不能大区分区数;

        分区数也限制了producer发送消息是指定的分区。如创建topic时分区设置为1,producer发送消息时通过自定义的分区方法指定分区为2或者以上的数都会出错,这种情况可以通过alter-partitions来增加分区。

    • replication-factor

        replication-factor控制消息保存在几个broker(服务器)上,一般情况下小于等于broker的个数;

        如果没有在创建时显示指定或者通过API向一个不存在的topic生产消息时会使用server.properties中default.replication.factor配置的数量。

      查看所有topic列表

    bin/kafka-topics.sh --list --zookeeper node-01:2181

      查看指定topic信息

    bin/kafka-topics.sh --zookeeper node-01:2181 --describe --topic test

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

      向 topic 生产数据

    bin/kafka-console-producer.sh --broker-list node-01:9092 --topic test

      消费 topic 的数据

    # 消费新数据
    bin/kafka-console-consumer.sh --zookeeper node-01:2181 --topic test
    # 从头开始消费数据
    bin/kafka-console-consumer.sh --zookeeper node-01:2181 --topic test --from-beginning

      查看topic在分区中的偏移量

    # time为-1时表示最大值,time为-2时表示最小值
    bin/kafka-run-class.sh kafka.tools.GetOffsetShell --topic test --time -1 --broker-list node-01:9092 --partitions 0

      test:0:69

      查看组消费情况

    bin/kafka-consumer-groups.sh --zookeeper node-01:2181 --describe --group console-consumer-71998

      TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID
      sync    0        5          5      0     -
      sync    1        5          5      0     -
      sync    2        5          5      0     -

      TOPIC:创建时topic名称
      PARTITION:分区编号
      CURRENT-OFFSET:表示该parition已经消费了多少条message
      LOG-END-OFFSET:表示该partition已经写了多少条message
      LAG:表示有多少条message没有被消费。
      CONSUMER-ID:表示消费者

  • 相关阅读:
    解决多并发
    一个交换机到底能带几台摄像头?结合生产经验咱们来分析!
    ELK查询命令详解
    Ansible自动化部署入门到进阶笔记
    批量SSH key-gen无密码登陆认证脚本
    ELK查询命令详解总结
    Shell 正则表达式详解
    Linux 常用系统性能命令总结
    什么叫做消息队列呢?
    批量SSH key-gen无密码登陆认证脚本 附件脚本
  • 原文地址:https://www.cnblogs.com/zbw1112/p/11943354.html
Copyright © 2011-2022 走看看