在 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

kafka常用命令(zookeeper与bootstrap-server)的更多相关文章

  1. kafka常用命令

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

  2. Kafka学习之四 Kafka常用命令

    Kafka常用命令 以下是kafka常用命令行总结: 1.查看topic的详细信息 ./kafka-topics.sh -zookeeper 127.0.0.1:2181 -describe -top ...

  3. Kafka常用命令收录

    目录 目录 1 1. 前言 2 2. Broker默认端口号 2 3. 安装Kafka 2 4. 启动Kafka 2 5. 创建Topic 2 6. 列出所有Topic 3 7. 删除Topic 3 ...

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

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

  5. Kafka常用命令合集

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

  6. kafka常用命令笔记

    0.查看有哪些主题: ./kafka-topics.sh --list --zookeeper 192.168.0.201:12181 1.查看topic的详细信息 ./kafka-topics.sh ...

  7. Kafka常用命令及配置文件

    创建topic,指定备份分区数 bin/kafka-topics.sh --create --zookeeper zk:2181 --replication-factor 2 --partitions ...

  8. Kafka常用命令及详细介绍

    目录 常用操作 Sentry kafka 清理 Kafka 术语 Kafka 主题剖析 Kafka 生产者 kafka 消费者和消费组 一致性和可用性 写入处理 失败处理 Kafka 客户端一致性 文 ...

  9. kafka 常用命令

    Kafka 解压,进入kafka目录下的bin目录 启动zk nohup ./zookeeper-server-start.sh ../config/zookeeper.properties & ...

  10. kafka常用命令(cdh5.10.0+kafka)

    参考资料:http://kafka.apache.org/quickstart 进入kafka安装目录(CDH安装路径为:/opt/cloudera/parcels/KAFKA):进入bin目录: c ...

随机推荐

  1. cuda、cudnn、tnesorrt的查看安装

    1.首先本地查看cuda已安装的版本 11.7输入命令:[nvcc -V]输出:nvcc: NVIDIA (R) Cuda compiler driverCopyright (c) 2005-2022 ...

  2. tensorrt cuda cudnn 各版本的匹配要求

    https://docs.nvidia.com/deeplearning/tensorrt/release-notes/tensorrt-8.html#rel_8-0-3

  3. docker kafka 一键搞定

    1. docker network create app-tier 2. docker run -d --name zookeeper-server \ --network app-tier \ -e ...

  4. STP理论基础

    目的 防止二层环路及防止环路造成的广播风暴以及引起的MAC表震荡 方法 首先,所有配置了STP的交换机互相向相邻交换器(配置了STP的)发送BPDU(协议数据单元),选举根桥(根交换机),根交换机上所 ...

  5. vmhost永久免费主机搭建wordpress

    vmhost主机试用+worpress搭建 点击vmhost进入vmhost官网,vmhost提供了永久免费的主机,还附带一个三级域名,并且支自定义子域名,免费托管5G的网页空间,网页支持php语言, ...

  6. pod init 失败

    问题: pod init 失败,报错如下: shenheping@shenhepingdeMacBook-Pro-2 iCar % pod init Ignoring ffi-1.13.1 becau ...

  7. uni-app学习笔记之----页面跳转

    1.声明式跳转 <navigator url="/pages/detail/detail"> <button>跳转至详情页</button> & ...

  8. 2023-03-01 react-native 实现 复制功能 @react-native-community/clipboard 报错:TypeError: null is not an object (evaluating 'NativeClipboard_1.default.setString')。

    我的react-native(下称rn)版本为0.68,要实现这个功能主要用到rn的clipboard,在21年的时候他就已经提示clipboard会在未来的版本中上去掉,官方的建议是不要再从reac ...

  9. go 的形参

    注意 记录一个 go 语言编程中,可能不小心忽略的一个点, 当函数的 出参 如果是 数组.结构体.字典 类型时,是不需要声明的,可以直接使用. 但是如果 出参 是 指针 类型,则必须要显示的声明. 代 ...

  10. insert_base_x.txt

    insert into g_temp.test_basevalues('20220202'::date, 1, 'apple'),('20220203'::date, 5, 'banana'),('2 ...