当前位置: 首页 > news >正文

kafka排除zookeeper使用kraft的最新部署方案

kafka在新版本中已经可以不使用zookeeper进行服务部署,排除zookeeper的部署方案可以节省一些服务资源,这里使用 kafka_2.13-3.6.1.tgz 版本进行服务部署。

测试部署分为三个服务器:

服务器名称服务器IP地址
test01192.168.56.101
test02192.168.56.102
test03192.168.56.103
  1. 将下载的安装包分别上传到三个服务器并解压安装包:
[root@localhost ~]# tar -zvxf kafka_2.13-3.6.1.tgz
[root@localhost ~]# cd kafka_2.13-3.6.1
[root@localhost kafka_2.13-3.6.1]# pwd
/root/kafka_2.13-3.6.1
[root@localhost kafka_2.13-3.6.1]# ls
bin  config  libs  LICENSE  licenses  NOTICE  site-docs
[root@localhost kafka_2.13-3.6.1]# 
  1. 修改配置文件,这里需要在三个服务器上面分别进行修改,需要调整修改几个地方如下:
[root@localhost kafka_2.13-3.6.1]# vim ./config/kraft/server.properties# 设置角色对应的节点ID,节点ID在集群内不能重复
node.id=1
# kraft中集群节点是有角色划分的,分为broker和controller,测试环境就不去做区分,所有节点都有两种角色
process.roles=broker,controller
# 指定controller仲裁节点列表
controller.quorum.voters=1@192.168.56.101:9093,2@192.168.56.102:9093,3@192.168.56.103:9093
# 指定数据存储目录
log.dirs=/root/kafka_2.13-3.6.1/datas
# 服务监听地址
listeners=PLAINTEXT://192.168.56.101:9092,CONTROLLER://192.168.56.101:9093
# 对外提供服务的地址和端口号,如果不设置将使用listeners配置的地址
advertised.listeners=PLAINTEXT://192.168.56.101:9092

完成上面的配置后,就可以进行服务器的启动了,首次启动服务器步骤如下:

  1. 生成集群ID,集群id生成使用下面的命令,这个命令只需要在一台服务器上面执行即可,记录生成的这个ID:
[root@localhost kafka_2.13-3.6.1]# ./bin/kafka-storage.sh random-uuid
nJID7Q7dT62E_ehtbO3RaA
  1. 分别在几台服务器上面使用集群ID格式化目录:
[root@localhost kafka_2.13-3.6.1]# ./bin/kafka-storage.sh format -t nJID7Q7dT62E_ehtbO3RaA -c ./config/kraft/server.properties
Formatting /root/kafka_2.13-3.6.1/datas with metadata.version 3.6-IV2.

上面命令执行完成后,配置的数据目录将会生成两个文件,其中 bootstrap.checkpoint 是一个二进制文件,meta.properties 是元数据文件:

[root@localhost kafka_2.13-3.6.1]# ls datas/
bootstrap.checkpoint  meta.properties
[root@localhost kafka_2.13-3.6.1]# 
[root@localhost kafka_2.13-3.6.1]# cat datas/meta.properties 
#
#Sat Feb 03 17:26:43 CST 2024
cluster.id=nJID7Q7dT62E_ehtbO3RaA
node.id=1
version=1
  1. 数据目录格式化完成后就可以启动服务,在启动服务时需要指定配置文件,同时可以通过参数来决定是前台启动服务还是后台启动:
# 后台启动:
$ ./bin/kafka-server-start.sh -daemon ./config/kraft/server.properties
# 前台启动:
$ ./bin/kafka-server-start.sh ./config/kraft/server.properties

完成上面这些一个kafka集群就已经搭建成功了,不使用zookeeper使得服务搭建非常简单,目前这个版本还支持使用zookeeper方式的安装。

# 启动zookeeper服务
$ bin/zookeeper-server-start.sh config/zookeeper.properties# 启动kafka服务
$ bin/kafka-server-start.sh config/server.properties

但还是建议使用kraft方式启动,毕竟可以省去zookeeper服务的维护,节省一部分资源。

# 以下所有命令都是以test-topic主题为示例,test-group消费者组为示例# 1. 创建主题:(test-topic 主题名;replication-factor 副本数量,副本是包含leader的,如果某个topic有副本,该值至少要配置为2)
$ ./bin/kafka-topics.sh --bootstrap-server 192.168.56.101:9092 --create --topic test-topic --partitions 3 --replication-factor 2# 2. 查看主题:
$ ./bin/kafka-topics.sh --bootstrap-server 192.168.56.101:9092 --describe --topic test-topic# 3. 删除主题:
$ ./bin/kafka-topics.sh --bootstrap-server 192.168.56.101:9092 --delete --topic test-topic# 4. 列出主题列表
$ ./bin/kafka-topics.sh --bootstrap-server 192.168.56.101:9092 --list# 5. 调整分区数量
$ ./bin/kafka-topics.sh --bootstrap-server 192.168.56.101:9092 -alter --partitions 4 --topic test-topic# 6. 查看消费者组信息
$ ./bin/kafka-consumer-groups.sh --bootstrap-server 192.168.56.101:9092 --list# 7. 查看某个消费者组消费情况
$ ./bin/kafka-consumer-groups.sh --bootstrap-server 192.168.56.101:9092 --group test-group --describe# 8. 在控制台向某个主题写入数据:
$ ./bin/kafka-console-producer.sh --broker-list 192.168.56.101:9092,192.168.56.102:9092,192.168.56.103:9092 --topic test-topic# 9. 在控制台消费某个主题数据
$ ./bin/kafka-console-consumer.sh --bootstrap-server 192.168.56.101:9092,192.168.56.102:9092,192.168.56.103:9092 --topic test-topic# 10. 指定消费10条数据
$ ./bin/kafka-console-consumer.sh --bootstrap-server 192.168.56.101:9092 --topic test-topic --max-messages 10# 在控制台消费数据时还可以添加参数:
# 最早数据开始消费:--from beginning
# 删除offsets并重新开始消费:--delete-consumer-offsets --from beginning
# 指定消费者组相关信息:--consumer.config ./config/consumer.properties------
# 下面这些是不怎么常用的命令,没有验证过作为记录供参考:# 更改主题配置信息:
./bin/kafka-configs.sh --bootstrap-server 192.168.56.101:9092 --entity-type topics --entity-name test-topic --alter --add-config max.message.bytes=128000# 查看主题配置信息:
./bin/kafka-configs.sh --bootstrap-server 192.168.56.101:9092 --entity-type topics --entity-name test-topic --describe# 删除配置:
./bin/kafka-configs.sh --bootstrap-server 192.168.56.101:9092  --entity-type topics --entity-name test-topic --alter --delete-config max.message.bytes# 将test topic的消费组的0分区的偏移量设置为最新
./bin/kafka-consumer-groups.sh --bootstrap-server 192.168.56.101:9092,192.168.56.102:9092,192.168.56.103:9092 --group test-group --topic test-topic:0 --reset-offsets --to-earliest –execute# 将test topic的消费组的0和1分区的偏移量设置为最旧
./bin/kafka-consumer-groups.sh --bootstrap-server 192.168.56.101:9092,192.168.56.102:9092,192.168.56.103:9092 --group test-group --topic test-topic:0,1 --reset-offsets --to-latest –execute# 将test topic的消费组的所有分区的偏移量设置为1000
./bin/kafka-consumer-groups.sh --bootstrap-server 192.168.56.101:9092,192.168.56.102:9092,192.168.56.103:9092 --group test-group --topic test-topic --reset-offsets --to-offset 1 –execute# --reset-offsets后可以跟的其他用法:--to-current:把位移调整到分区当前位移
# --reset-offsets后可以跟的其他用法:--shift-by N: 把位移调整到当前位移 + N处,注意N可以是负数,表示向前移动
# --reset-offsets后可以跟的其他用法:--to-datetime <datetime>:把位移调整到大于给定时间的最早位移处,datetime格式是yyyy-MM-ddTHH:mm:ss.xxx,比如2017-08-04T00:00:00.000

相关文章:

kafka排除zookeeper使用kraft的最新部署方案

kafka在新版本中已经可以不使用zookeeper进行服务部署&#xff0c;排除zookeeper的部署方案可以节省一些服务资源&#xff0c;这里使用 kafka_2.13-3.6.1.tgz 版本进行服务部署。 测试部署分为三个服务器&#xff1a; 服务器名称服务器IP地址test01192.168.56.101test02192.1…...

SQL Server数据库日志查看若已满需要清理的三种解决方案

首先查看获取实例中每个数据库日志文件大小及使用情况&#xff0c;根据数据库日志占用百分比来清理 DBCC SQLPERF(LOGSPACE) 第一种解决方案&#xff1a; 在数据库上点击右键 → 选择 属性 → 选择 文件&#xff0c;然后增加数据库日志文件的文件大小。 第二种解决方案 手动…...

人工智能 | 深度学习的进展

深度学习的进展 深度学习是人工智能领域的一个重要分支&#xff0c;它利用神经网络模拟人类大脑的学习过程&#xff0c;通过大量数据训练模型&#xff0c;使其能够自动提取特征、识别模式、进行分类和预测等任务。近年来&#xff0c;深度学习在多个领域取得了显著的进展&#…...

玩转Java8新特性

背景 说到Java8新特性&#xff0c;大家可能都耳濡目染了&#xff0c;代码中经常使用遍历stream流用到不同的api了&#xff0c;但是大家有没有想过自己也自定义个函数式接口呢&#xff0c;目前Java8自带的四个函数式接口&#xff0c;比如Function、Supplier等 stream流中也使用…...

EasyRecovery2024永久免费版电脑数据恢复软件下载

EasyRecovery数据恢复软件是一款非常好用且功能全面的工具&#xff0c;它能帮助用户恢复各种丢失或误删除的数据。以下是关于EasyRecovery的详细功能介绍以及下载步骤&#xff1a; EasyRecovery-mac最新版本下载:https://wm.makeding.com/iclk/?zoneid50201 EasyRecovery-win…...

QQ音乐新版客户端的音乐无法解密?来看看解决方法!音乐解锁工具Web+批处理版本合集,附常见问题及解决方法!

一、软件简介 一般会员制音乐软件&#xff08;如某抑云&#xff0c;某鹅&#xff0c;某狗音乐&#xff09;的歌曲下载后都是加密格式&#xff0c;加密格式的音乐只能在特定的播放器中才能播放&#xff0c;在其他音乐播放器和设备中则无法识别和播放。音乐解锁工具的作用就是将…...

2023年12月CCF-GESP编程能力等级认证C++编程一级真题解析

一、单选题(共15题,共30分) 第1题 以下C++不可以作为变量的名称的是( )。 A:CCF GESP B:ccfGESP C:CCFgesp D:CCF_GESP 答案:A 第2题 C++表达式 10 - 3 * (2 + 1) % 10 的值是( )。 A:0 B:1 C:2 D:3 答案:B 第3题 假设现在是上午十点,求出N小时(正整数…...

如何决定K8S Pod的剔除优先级

在Kubernetes&#xff08;k8s&#xff09;中&#xff0c;当节点资源面临压力时&#xff0c;如何决定Pod的优先级是一个关键问题。在Kubernetes 1.8版本之后&#xff0c;引入了基于Pod优先级的调度策略&#xff0c;即Pod Priority Preemption。这种策略允许在资源不足的情况下&a…...

【JavaScript】数据类型

文章目录 1. 数字&#xff08;Number&#xff09;2. 字符串&#xff08;String&#xff09;3. 布尔&#xff08;Boolean&#xff09;4. 对象&#xff08;Object&#xff09;5. 数组&#xff08;Array&#xff09;6. Undefined 和 Null7. typeof 操作符总结 在 JavaScript 中&am…...

JAVA:单例模式提高性能和安全性的优化技巧

1、简述 单例模式是一种常用的设计模式&#xff0c;用于确保一个类只有一个实例&#xff0c;并提供全局访问点。在 Java 中&#xff0c;单例模式的优化不仅可以提高性能&#xff0c;还可以增强安全性和可维护性。本文将介绍一些关键的技巧和最佳实践&#xff0c;帮助你优化单例…...

如何在 Ubuntu 上安装 ONLYOFFICE 文档 8.0

通过使用社区版&#xff0c;您有能力在您自己的服务器上部署 ONLYOFFICE 文档&#xff0c;从而使在线编辑器与 ​​ONLYOFFICE 协作平台​​​或​​其他热门系统​​进行无缝集成。 ONLYOFFICE 文档是什么 ONLYOFFICE 文档是一款全面的在线办公工具&#xff0c;提供了文本文档…...

什么是大模型

目录 让你了解什么是大模型什么是大模型&#xff1f;大模型的应用场景常见的大模型技术实例分析&#xff1a;深度学习语言模型GPT-3 让你了解什么是大模型 大模型&#xff08;Big Model&#xff09;是指在机器学习和人工智能领域中处理大规模数据和复杂模型的一种方法或技术。…...

C#在既有数组中插入另一个数组:Array.Copy方法 vs 自定义插入方法

目录 一、使用的方法 1.使用Array.Copy方法 2.Copy(Array, Int32, Array, Int32, Int32) 3. 使用自定义的方法 二、实例 1.示例1&#xff1a;使用Array.Copy方法 2.示例2&#xff1a;使用自定义的方法 一、使用的方法 1.使用Array.Copy方法 首先定义了一个名为InsertAr…...

上位机图像处理和嵌入式模块部署(linux开发板的选择)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 很多图像算法是通过上位机来完成的&#xff0c;比如说工业视觉当中的halcon&#xff0c;一般都是要运行在windows平台上面&#xff0c;并且需要高性…...

2024情人节送女朋友什么礼物?精准送礼看这个就对啦!男生必看!

爱情是生活中最美好的情感之一&#xff0c;而情人节则是表达这份感情的最佳时刻。在2024年的情人节来临之际&#xff0c;作为男生的你是否已经为心爱的她准备了一份特别的礼物呢&#xff1f;如果你还在犹豫不决&#xff0c;那么这篇文章就是为你准备的&#xff01;我们将会从女…...

查询每张表占用磁盘空间大小(达梦数据库)

查询每张表占用磁盘空间大小 环境介绍 环境介绍 在迁移准备工作中,为了更好评估迁移时间,可以统计大表数量与大表的实际大小,为迁移规划做准备 --查看用户下面每张表占用的磁盘空间SELECT T.OWNER,T.SEGMENT_NAME,T.SEGMENT_TYPE,T.TABLESPACE_NAME,T.BYTES,T.BYTES/1024 BYT…...

Vue3——创建一个应用

文章目录 创建应用实例挂载应用没有模板的组件的挂载 应用配置多个应用实例 其实使用脚手架创建的vue项目的main.js文件中已经为我们配置好 vue应用的创建。 import { createApp } from vue import App from ./App.vue const app createApp(App) app.mount(#app)创建应用实例…...

深度学习系列56:使用whisper进行语音转文字

1. openai-whisper 这应该是最快的使用方式了。安装pip install -U openai-whisper&#xff0c;接着安装ffmpeg&#xff0c;随后就可以使用了。模型清单如下&#xff1a; 第一种方式&#xff0c;使用命令行&#xff1a; whisper japanese.wav --language Japanese --model…...

【Web - 框架 - Vue】随笔 - 通过`CDN`的方式使用`VUE 2.0`和`Element UI`

通过CDN的方式使用VUE 2.0和Element UI VUE 网址 https://cdn.bootcdn.net/ajax/libs/vue/2.7.16/vue.js源码 https://download.csdn.net/download/HIGK_365/88815507测试 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset&quo…...

设计模式(行为型模式)备忘录模式

目录 一、简介二、备忘录模式2.1、备忘录2.2、原发器2.3、备忘录模式 三、优点与缺点 一、简介 备忘录模式&#xff08;Memento Pattern&#xff09;是一种行为设计模式&#xff0c;旨在捕获一个对象的内部状态&#xff0c;并在不破坏对象封装的前提下将其保存&#xff0c;以便…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类&#xff1a;块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发&#xff0c;使用DevEco Studio作为开发工具&#xff0c;采用Java语言实现&#xff0c;包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

Go语言多线程问题

打印零与奇偶数&#xff08;leetcode 1116&#xff09; 方法1&#xff1a;使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...

免费数学几何作图web平台

光锐软件免费数学工具&#xff0c;maths,数学制图&#xff0c;数学作图&#xff0c;几何作图&#xff0c;几何&#xff0c;AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)

macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 &#x1f37a; 最新版brew安装慢到怀疑人生&#xff1f;别怕&#xff0c;教你轻松起飞&#xff01; 最近Homebrew更新至最新版&#xff0c;每次执行 brew 命令时都会自动从官方地址 https://formulae.…...