1  创建topic:

  kafka-topics.sh --create --zookeeper 3.3.3.3:2181 --replication-factor 1 --partitions 3 --topic test_one

  replication-factor 副本的个数 (因为创建的副本都是存储在其他broker的,所以这里配置的个数不能大于集群中的broker个数)

  partitions 分区个数

执行后的结构:

  drwxr-xr-x 2 root root 4096 8月 11 17:07 test_one-0/     第一个分区
  drwxr-xr-x 2 root root 4096 8月 11 17:07 test_one-1/     第二个分区
  drwxr-xr-x 2 root root 4096 8月 11 17:07 test_one-2/     第三个分区

2  生产消息(手动在命令行执行):kafka-console-producer.sh --broker-list 3.3.3.3:9092 --topic test_one

由于有三个分区,所以我们未手动指定消息的分区规则的情况下,消息会均匀的分发到三个分区,我们可以通过server.properties中log.dirs所配置目录下的  replication-offset-checkpoint文件查看各个分区的消息个数,如下:

  root@131:aaaa# cat replication-offset-checkpoint
  0
  3
  test_one 2 24
  test_one 0 24
  test_one 1 23

test_one为topicname,后面的0 1 2是分区号,后面的24 24 23就是当前这个分区的消息个数

3  查看topic的详细信息: kafka-topics.sh -describe -zookeeper 3.3.3.3:2181 -topic test_one

  # kafka-topics.sh -describe -zookeeper .3.3.3.3:2181 -topic test_one

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

   这个结果显示了分区的个数,哪个是主分区,那些是有效节点:

Partition:分区编号;

  Leader:当前分区编号的主分区

   Replicas:当前分区的所有节点(主节点+备节点)

   Isr:当前分区的所有节点中的有效节点

    判断是否有效节点的条件:1,与主节点保持心跳的节点;2,未同步的消息数量小于我们设置的阈值;3,当前节节点卡住的时间小于我们配置的阈值

  注:

    这里需要注意的是,kafka里所说的副本/leader/主节点/从节点等都是以分区为单位的,而不是topic;

4  登陆zk客户端查看topic等信息

  4.1  登陆客户端:zkCli.sh -server 192.168.138.131:2181

  4.2  查看根节点信息:[zk: 192.168.138.131:2181(CONNECTED) 0] ls /

    [zk: 3.3.3.3:2181(CONNECTED) 0] ls /
    [controller_epoch, controller, brokers, zookeeper, admin, isr_change_notification, consumers, config]

    可以使用ls + 路径查看需要的信息,如:ls /brokers/topics/test_one/partitions

    [zk: 3.3.3.3:2181(CONNECTED) 9] ls /brokers/topics/test_one/partitions
    [0, 1, 2]

kafka zk常用命令的更多相关文章

  1. Kafka记录-常用命令选项说明

    1.kafka-topics  主题 如:kafka-topics --create --zookeeper 10.0.4.142:2181/kafka --replication-factor 1 ...

  2. windows下使用kafka的常用命令

    参考文档: https://blog.csdn.net/evankaka/article/details/52421314 http://orchome.com/6 1 启动zookeeper cmd ...

  3. ZK常用命令

    zkcli脚本命令介绍 zkcli    连接默认zookeeper服务器 zkcli -server ip:port    连接指定的zookeeper服务器 create -s -e path d ...

  4. kafka安装及常用命令

    kafka是一个开源的分布式消息队列 他提供可靠的集群容错机制,并保证故障切换时的数据完整性. 无论从性能.可靠性.易用性都强过ActiveMQ(client的API感觉还是不如ActiveMQ好用, ...

  5. Kafka常用命令合集

    在上一篇文章<Linux安装Kafka>中,已经介绍了如何在Linux安装Kafka,以及Kafka的启动/关闭和创建发话题并产生消息和消费消息.这篇文章就介绍介绍Kafka的那些常用的命 ...

  6. kafka常用命令

    以下是kafka常用命令行总结: 0.查看有哪些主题: ./kafka-topics.sh --list --zookeeper 192.168.0.201:12181 1.查看topic的详细信息 ...

  7. Kafka系列(二)特性和常用命令

    Kafka中Replicas复制备份机制 kafka将每个partition数据复制到多个server上,任何一个partition有一个leader和多个follower(可以没有),备份的个数可以 ...

  8. 大数据入门第十七天——storm上游数据源 之kafka详解(二)常用命令

    一.kafka常用命令 1.创建topic bin/kafka-topics. --replication-factor --zookeeper mini1: // 如果配置了PATH可以省略相关命令 ...

  9. Hadoop生态圈-Kafka常用命令总结

    Hadoop生态圈-Kafka常用命令总结 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.管理Kafka服务的命令 1>.开启kafka服务 [yinzhengjie@s ...

随机推荐

  1. C#启动外部程序(进程)

    通过调用Process类可以启动系统内部(环境变量里的)或者指定位置的程序,例如: Process.Start("notepad");//启动记事本 Process.Start(& ...

  2. jbd2/dm-2-8 io太高

    用iotop查看发现[jbd2/dm-2-8]几乎占用了99%的io使用率,但是却没有输入输出 后来上网查找,网上有人说是个内核bug,需要升级内核,或者降低jdb2的提交次数,即重新挂载磁盘 添加c ...

  3. 设计模式:享元(FlyWeight)模式

    设计模式:享元(FlyWeight)模式 一.前言     享元(FlyWeight)模式顾名思义,既是轻量级的,原因就是享元,共享元素,这里的元素指的是对象.如何共享对象,那就是在检测对象产生的时候 ...

  4. Spark 中的宽依赖和窄依赖

    Spark中RDD的高效与DAG图有着莫大的关系,在DAG调度中需要对计算过程划分stage,而划分依据就是RDD之间的依赖关系.针对不同的转换函数,RDD之间的依赖关系分类窄依赖(narrow de ...

  5. json转换为tree对象(递归)

    const newTeam = function (data, parentId) { 2 let itemArr = []; 3 for (let i = 0; i < data.length ...

  6. 【深入理解JAVA虚拟机】第三部分.虚拟机执行子系统.1.类文件结构

    无关性 无关性的体现有两个方面: 1.平台无关性:可在不同的操作系统和机器指令集上执行,可在不同厂商的虚拟机平台上执行. 2.语言无关性:用不同编程语言写出的代码编译生成的文件都可以运行. 实现思想: ...

  7. ZT 或许你一辈子都是个小人物

    或许你一辈子都是个小人物 分类: 程序人生 2013-06-04 22:39 483人阅读 评论(2) 收藏 举报 程序人生 本文摘自:http://www.nowamagic.net/library ...

  8. Oracle练习详解

    --1.查询emp表,显示薪水大于2000,且工作类别是MANAGER的雇员信息 select * from emp where sal > 2000and job = 'MANAGER'; - ...

  9. oracle中PLSQL存储过程中如何使用逗号分隔的集合(逗号分隔字符串转换为一个集合)

    原文: https://blogs.oracle.com/aramamoo/entry/how_to_split_comma_separated_string_and_pass_to_in_claus ...

  10. php仿照asp实现application缓存的代码分享

    php 怎么没有asp 那样的application缓存呢?最近我找了很多,都只有自己写,下面我分享一段代码 class php_cache{ //相对或者绝对目录,末尾不要加 '/' var $ca ...