首页 > 其他分享 >kafka常用命令(zookeeper与bootstrap-server)

kafka常用命令(zookeeper与bootstrap-server)

时间:2023-01-03 11:25:39浏览次数:55  
标签:bootstrap -- zookeeper 9092 kafka sh 常用命令 server

    在 0.9.0.0 之后的 Kafka,出现了几个新变动,一个是在 Server 端增加了 GroupCoordinator 这个角色,另一个较大的变动是将 topic 的 offset 信息由之前存储在 zookeeper 上改为存储到一个特殊的 topic(__consumer_offsets)中

 

 


kafka的启动

    后台常驻方式,带上参数 -daemon,如:

/kafka/bin/kafka-server-start.sh -daemon /kafka/config/server.properties

    指定 JMX port 端口启动,指定 jmx,可以方便监控 Kafka 集群

JMX_PORT=9991 /kafka/bin/kafka-server-start.sh -daemon /kafka/config/server.properties


停止Kafka

/kafka/bin/kafka-server-stop.sh


Topic

    [使用zk] --zookeeper localhost:2181

    [使用内置] --bootstrap-server localhost:9092

1. 创建 Topic

    官方推荐如果kafka版本大于等于2.2使用–bootstrap-server替代–zookeeper (2.2以上也兼容–zookeeper)命令如下

kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic mytest


    如果kafka版本小于2.2则命令如下

kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic mytest


参数解释

    1.指定kafka集群(2.2以上)或zookeeper集群

--bootstrap-server node1:9092,node2:9092,node3:9092....



--zookeeper node1:2181,node2:2181,node3:2181...

 

    2.指定分区数

--partitions


    3.指定分区的副本数

--replication-factor


    所以执行上面命令将会创建一个名为mytest的topic,该topic下面有1个分区,并且该分区只有1个副本

2. 列出所有Topic

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



查看所有Topic
3.查看指定Topic

kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic mytest


查看指定Topic述

Partition:0 表示该分区的id为0
leader: 9 表示分区的首领副本所在的broker(本例子中broker.id配置为9,所以这里显示9,具体在config/server.properties配置。这里只有一个分区,所以首领分区也就是自己)
Replicas: 9 表示分区的跟随副本所在的broker
Isr: 9 表示分区的同步副本所在的broker(同步副本可以认为跟首领副本准实时同步的副本,可以配置判断条件,后面会讲,首领副本挂掉后,服务器会从同步副本中选举新的首领)

4.增加Topic的partition数

kafka-topics.sh --bootstrap-server localhost:9092 --alter --topic mytest --partitions 5

5.查看 topic 指定分区 offset 的最大值或最小值

    time 为 -1 时表示最大值,为 -2 时表示最小值:

kafka-run-class.sh kafka.tools.GetOffsetShell --topic mytest --time -1 --broker-list 127.0.0.1:9092 --partitions 0

6.删除Topic

kafka-topics.sh --bootstrap-server localhost:9092 --topic mytest --delete

生产消息

kafka-console-producer.sh --broker-list localhost:9092 --topic mytest

消费消息
1.从头开始

kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic mytest --from-beginning

2.从尾部开始

    从尾部开始取数据,必需要指定分区:

kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic mytest --offset latest --partition 0

3.指定分区

kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic mytest --offset latest --partition 0

4.取指定个数

kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic mytest --offset latest --partition 0 --max-messages 1

消费者Group
1.指定Group

kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic mytest -group test_group --from-beginning


2.消费者Group列表

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

3.查看Group详情[用来判断是否有延迟数据]

kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group test_group --describe

输出

Consumer group 'test_group' has no active members.

TOPIC           PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG             CONSUMER-ID     HOST            CLIENT-ID
test            0          5               5               0               -               -               -

# CURRENT-OFFSET: 当前消费者群组最近提交的 offset,也就是消费者分区里读取的当前位置
# LOG-END-OFFSET: 当前最高水位偏移量,也就是最近一个读取消息的偏移量,同时也是最近一个提交到集群的偏移量
# LAG:消费者的 CURRENT-OFFSET 与 broker 的 LOG-END-OFFSET 之间的差距


4.删除Group

kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group test_group --delete

平衡Leader

kafka-preferred-replica-election.sh --bootstrap-server localhost:9092

kafka-leader-election.sh --bootstrap-server localhost:9092 --topic test --partition=2 --election-type preferred
--partition:指定需要重新分配leader的partition编号

自带压测工具

kafka-producer-perf-test.sh --topic test --num-records 100 --record-size 1 --throughput 100 --producer-props bootstrap.servers=localhost:9092


参考链接
————————————————
版权声明:本文为CSDN博主「沐已成风」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42854904/article/details/118424361

标签:bootstrap,--,zookeeper,9092,kafka,sh,常用命令,server
From: https://www.cnblogs.com/augusite/p/17021517.html

相关文章

  • SQLSERVER 居然也能调 C# 代码 ?
    一:背景1.讲故事前些天看到一个奇怪的Function函数,调用的是C#链接库中的一个UserLogin方法,参考代码如下:CREATEFUNCTIONdbo.clr_UserLogin(@name ASNVA......
  • ZooKeeper Installation and Configuration
    ZooKeeperInstallationandConfigurationHowtoconfigureZookeepertoworkbestwithClickHousePrepareandStartZooKeeperPreparationBeforebeginning,dete......
  • Kubernetes(k8s) kubectl annotate常用命令
    kubectl在$HOME/.kube目录中查找一个名为config的配置文件。可以通过设置KUBECONFIG环境变量或设置--kubeconfig参数来指定其它kubeconfig文件。本文主要介绍K......
  • Linux常用命令
    Linux常用命令 1.cd切换目录菜单~切换到家目录cd/切换到根目录cd-切换到上一次操作的目录cd..或cd../切换到上级目录cd.或cd./切换......
  • Springboot 整合 Dubbo/ZooKeeper 详解 SOA 案例
    一、为啥整合Dubbo实现SOADubbo不单单只是高性能的RPC调用框架,更是SOA服务治理的一种方案。核心:1.远程通信,向本地调用一样调用远程方法。2.集群容错3.服务自动发......
  • pikachu--验证码绕过(on server)
    文章内容简介:本文章是基于pikachu靶场的验证码绕过(onserver),后台会把提交的验证码进行验证,看是否正确,但是该验证仍然有漏洞,因为其验证码可以重复使用,相当于未验证该验......
  • 针对于Sql server突然连接不到服务器的解决方法
    问题叙述点击连接之后,总是会弹出一个错误弹窗:方法解决快捷键Win+R,输入services.msc,进入到服务界面:找到SQL代理(DEV)将手动打开改成自动再连接试一次连上啦!(希望......
  • Ubuntu 常用命令
    Usingubuntuwhichrails\\查找路径;pwd\\当前目录;sudosu\\切换到管理员;sudomount-tvboxsfsarah/mnt/s......
  • (转)主从复制报错Fatal error:The slave I/O thread stops because master and slave ha
    最后发现/var/lib/mysql/auto.cnf还有一个auto.cnf文件,我们直接执行rm-rf/var/lib/mysql/auto.cnf命令删除主机和从机中的这个auto.cnf文件就可以,当然也可以选择修改里面......
  • SQL Server创建dblink跨库查询
    dblink是跨库查询的主要手段,在Oracle创建DbLink中已经演示了Oracle中如何创建及使用DbLink,这篇博客看看SQLServer中如何使用。一、通过图形化界面直接创建选择当前注册......