kafka笔记3--快速部署KRaft版本的kafka3.1.1

2023-11-07

kafka笔记3--快速部署KRaft版本的kafka3.1.1

1 介绍

Apache Kafka Raft 是一种共识协议,它的引入是为了消除 Kafka 对 ZooKeeper 的元数据管理的依赖,被社区称之为 Kafka Raft metadata mode,简称 KRaft 模式。本文基于最新的 3.1.1 版本快速部署一个测试版本的 kafka, 若需要部署老版本kafka 可以参考博文 kafka笔记1–基础介绍与集群安装

2 部署测试

2.1 部署

downloads.apache.org/kafka/ 下载 kafka, 也可以在官方下载,官方可能网速比较慢。

解压后按照如下方式初始化即可:

配置 server.properties
$ vim config/kraft/server.properties
listeners=PLAINTEXT://:9092,CONTROLLER://:9093
inter.broker.listener.name=PLAINTEXT
advertised.listeners=PLAINTEXT://192.168.31.61:9092 # 此处要更改为实际ip,否则只能在本机访问

生成集群 ID
$ bin/kafka-storage.sh random-uuid
1kwB-zWkQfmc7Lc9wMuiLQ

格式化存储目录
$ bin/kafka-storage.sh format -t 1kwB-zWkQfmc7Lc9wMuiLQ -c config/kraft/server.properties
Formatting /tmp/kraft-combined-logs

启功节点服务
$ bin/kafka-server-start.sh config/kraft/server.properties

2.2 测试

通过如下命令创建、查看topic,开启生产和消费者。

创建topic:
$ bin/kafka-topics.sh --create --topic k8s-log --partitions 1 --replication-factor 1 --bootstrap-server 127.0.0.1:9092
Created topic k8s-log.

查看topic:
$ bin/kafka-topics.sh --list --bootstrap-server  127.0.0.1:9092
__consumer_offsets
k8s-log

查看group:
$ bin/kafka-consumer-groups.sh --list --bootstrap-server  127.0.0.1:9092
logstash-k8s-log

查看topic详细信息:
$ bin/kafka-topics.sh --describe --topic k8s-log --bootstrap-server 127.0.0.1:9092
Topic: k8s-log	TopicId: s08iH5PcRk-B-PTkBMk1kQ	PartitionCount: 1	ReplicationFactor: 1	Configs: segment.bytes=1073741824
	Topic: k8s-log	Partition: 0	Leader: 1	Replicas: 1	Isr: 1

开启消费者:
$ bin/kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic k8s-log

开启生产者:
$ bin/kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic k8s-log

删除topic:
$ bin/kafka-topics.sh --delete --topic k8s-log --bootstrap-server 127.0.0.1:9092

删除group:
$/bin/kafka-consumer-groups.sh --bootstrap-server 127.0.0.1:9092 --delete --group ck-sre_k8s_sh_log
Deletion of requested consumer groups ('k8s-log') was successful.

如下图,在 producer 中输入数据后,可以在consumer消费并输出数据。
在这里插入图片描述

3 注意事项

  1. advertised.listeners=PLAINTEXT://localhost:9092 需要更改为实际ip,否则只能在本机访问

  2. 使用kraft 的kafka需要配置 config/kraft/server.properties 文件

  3. kafka 查看分区消息数量 - GetOffsetShell脚本方式

    虽然kafka.tools.GetOffsetShell工具的使用方法没有记录在官方文档中,但使用它却非常简单。假设我也查询名为`test`的topic的消息数,具体命令如下:
    kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic k8s-log --time -1
    -1表示查询test各个分区当前最大的消息位移值(注意,这里的位移不只是consumer端的位移,而是指消息在每个分区的位置)
    
    如果你要查询曾经生产过的最大消息数,那么只运行上面这条命令然后把各个分区的结果相加就可以了。但如果你需要查询当前集群中该topic的消息数,那么还需要运行下面这条命令:
    kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic k8s-log --time -2
    -2表示去获取当前各个分区的
    
  4. kafka 调整指定 groupid 的offset

    kafka-consumer-groups.sh --bootstrap-server ip01:9092,ip02:9092,ip03:9092 --group  ck-sls_nginx_ingress --reset-offsets --to-earliest --topic sls-nginx-ingress --execute
    最早: --to-earliest
    最新: --to-latest
    

4 说明

软件环境:
Ubuntu 20.04 Desktop
kafka_2.12-3.1.1
参考文档:
downloads.apache.org/kafka
官方文档 – Kafka 3.0 Documentation
Kafka高可用 — KRaft集群搭建
Kafka入门系列(十三) 如何查看topic消息数

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

kafka笔记3--快速部署KRaft版本的kafka3.1.1 的相关文章

  • Matlab 中大型非稀疏矩阵的高效运算

    我需要在 Matlab 中操作大的 3 维非稀疏矩阵 使用纯矢量化会带来较长的计算时间 所以 我尝试将操作分成10个块 然后解析结果 当我看到纯矢量化不能很好地缩放数据大小时 我感到很惊讶 如下图所示 我提供了这两种方法的示例 Parame
  • 如何使用R将年度数据转换为月度数据?

    我有2000年至2015年15年的逐年GDP数据 我想将这些数据转换为月度数据 其中只有月份和年份 我只想将当年的值复制到所有月份 我怎样才能在 R 中做到这一点2010 年的值是 1708 我想为 2010 年的所有月份复制相同的值 我的
  • 从大文件中查找唯一值

    我有一个大文件 比如 10 TB 其中包含 MD5 哈希流 其中包含重复项 我的内存为 10MB 非常有限 硬盘空间不受限制 使用给定条件查找所有唯一的哈希值 消除重复项 请帮忙 这显然不是一个家庭作业问题 您可以使用外部排序算法 例如使用
  • 阿里技术官亲笔力作:Kafka限量笔记,一本书助你掌握Kafka的精髓

    前言 分布式 堪称程序员江湖中的一把利器 无论面试还是职场 皆是不可或缺的技能 而Kafka 这款分布式发布订阅消息队列的璀璨明珠 其魅力之强大 无与伦比 对于Kafka的奥秘 我们仍需继续探索 要论对Kafka的熟悉程度 恐怕阿里的大佬们
  • 考虑极端天气线路脆弱性的配电网分布式电源配置优化模型【IEEE33节点】(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现
  • 使用 HDFS 更改更新 Hive 外部表

    可以说 我从文件 myFile csv 位于 HDFS 中 创建了 Hive 外部表 myTable myFile csv 每天都会更改 那么我也有兴趣每天更新一次 myTable 是否有任何 HiveQL 查询告诉每天更新表 谢谢 P S
  • RabbitMQ环境配置

    文章目录 安装Erlang 安装RabbitMQ 安装Erlang 下载地址 http erlang org download otp win64 25 3 2 7 exe 安装RabbitMQ 下载地址 https www rabbitm
  • Apache Spark - Spark 中的内部作业调度程序如何定义什么是用户,什么是池

    我很抱歉在这里说得有点笼统 但我对 Spark 内部的作业调度如何工作有点困惑 从文档中here https spark apache org docs latest job scheduling html scheduling withi
  • 如何从 HIVE 中的日期减去月份

    我正在寻找一种方法来帮助我从 HIVE 中的日期中减去月份 我有个约会2015 02 01 现在我需要从这个日期减去 2 个月 这样结果应该是2014 12 01 你们能帮我一下吗 select add months 2015 02 01
  • 在巨大的事件流中寻找差距?

    我的 PostgreSQL 数据库中有大约 100 万个事件 其格式如下 id stream id timestamp 1 7 2 8 大约有 50 000 个独特的流 我需要找到任意两个事件之间的时间超过特定时间段的所有事件 换句话说 我
  • 大稀疏矩阵到三角矩阵 R

    我在 R 中有一个非常大的 大约 9100 万个非零条目 sparseMatrix 如下所示 gt myMatrix a b c a 1 2 b 1 c 2 我想将其转换为三角矩阵 上或下 但是当我尝试 myMatrix myMatrix
  • 分段读取 CSV 文件的策略?

    我的计算机上有一个中等大小的文件 4GB CSV 但没有足够的 RAM 来读取该文件 64 位 Windows 上为 8GB 在过去 我只是将其加载到集群节点上并将其读入 但我的新集群似乎任意将进程限制为 4GB RAM 尽管每台机器的硬件
  • 如何将 RDD 保存到 HDFS 中并稍后将其读回?

    我有一个 RDD 其元素类型为 Long String 由于某种原因 我想将整个 RDD 保存到 HDFS 中 然后在 Spark 程序中读回该 RDD 可以这样做吗 如果是这样 怎么办 有可能的 在RDD中你有saveAsObjectFi
  • 使用 Kinesis Analytics 构建实时会话

    是否有某个地方的示例 或者有人可以解释如何使用 Kinesis Analytics 构建实时会话 即会话化 这里提到这可能 https aws amazon com blogs aws amazon kinesis analytics pr
  • Postgresql - 在大数据库中使用数组的性能

    假设我们有一个包含 600 万条记录的表 有 16 个整数列和少量文本列 它是只读表 因此每个整数列都有一个索引 每条记录大约 50 60 字节 表名称为 项目 服务器为 12 GB RAM 1 5 TB SATA 4 核 所有 postg
  • 仅当尝试打开假定的缓存文件时,Hadoop 2 IOException

    我最近更新到 hadoop 2 2 使用本教程here http codesfusion blogspot com 2013 10 setup hadoop 2x 220 on ubuntu html m 1 我的主要作业类如下所示 并抛出
  • 是否可以在表之间创建关系?

    Bigquery 看起来很棒 我有一个数据库类型 ETL 其中我的方案在实体之间有多种关系 我想知道是否有办法在它们之间建立关系 或者是否可以在数据集之间以某种方式模拟它们 请原谅我的英语 这不是我的语言 而且我不太了解它 您无法在 Big
  • Spark parquet 分区:大量文件

    我正在尝试利用 Spark 分区 我试图做类似的事情 data write partitionBy key parquet location 这里的问题是每个分区都会创建大量镶木地板文件 如果我尝试从根目录读取 则会导致读取速度变慢 为了避
  • 计算 HBase 表中列族的记录数

    我正在寻找一个 HBase shell 命令来计算指定列族中的记录数 我知道我可以运行 echo scan table name hbase shell grep column family name wc l 然而 这将比标准计数命令运行
  • 使用大矩阵操作

    我必须使用 big matrix 对象 并且无法计算某些函数 让我们考虑以下大矩阵 create big matrix object x lt as big matrix matrix sample 1 10 20 replace TRUE

随机推荐