Centos安装Kafka(KRaft模式)

1. KRaft引入

Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。其核心组件包含Producer、Broker、Consumer,以及依赖的Zookeeper集群。其中Zookeeper集群是Kafka用来负责集群元数据的管理、控制器的选举等。
由于重度依赖Zookeeper集群,当Zookeeper集群性能发生抖动时,Kafka的性能也会收到很大的影响。因此,在Kafka发展的过程当中,为了解决这个问题,提供KRaft模式,来取消Kafka对Zookeeper的依赖。
在Kafka引入KRaft新内部功能后,对Zookeeper的依赖将会被取消。在 KRaft 中,一部分 broker 被指定为控制器,这些控制器提供过去由 ZooKeeper 提供的共识服务。所有集群元数据都将存储在 Kafka 的topic中并在内部进行管理。

2. KRaft模式优势

  1. 更简单的部署和管理。通过只安装和管理一个应用程序,Kafka 现在的运营足迹要小得多,这也使得在边缘的小型设备中更容易利用 Kafka;
  2. 提高可扩展性。KRaft 的恢复时间比 ZooKeeper 快一个数量级,这使我们能够有效地扩展到单个集群中的数百万个分区。ZooKeeper 的有效限制是数万;
  3. 更有效的元数据传播。基于日志、事件驱动的元数据传播可以提高 Kafka 的许多核心功能的性能。

3. Kafka部署(单机版)

  1. jdk安装,略
  2. scala安装,略
  3. kafka安装,注意和scala版本对应。
    1. 下载安装包:wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz --no-check-certificate
      注意:kafka_2.12-3.5.2.tgz2.12对应scala版本;3.5.2对应kafka版本。

    2. 解压:tar -zxvf kafka_2.12-3.5.2.tgz -C /export/server/

    3. 创建数据存储目录:mkdir /data/kafka_kraft-combined-log

    4. 修改配置文件:vim kafka_2.12-3.5.2/config/kraft/server.properties

      # Kafka broker对外公布的监听地址和端口
      advertised.listeners=PLAINTEXT://192.168.1.6:9092
      # Kafka存储数据的目录
      log.dirs=/data/kafka_kraft-combined-log
      
    5. 格式化存储目录
      执行命令:kafka_2.12-3.5.2/bin/kafka-storage.sh random-uuid,得到一个uuid:xxxxx…
      执行命令:kafka_2.12-3.5.2/bin/kafka-storage.sh format -t xxxxx -c config/kraft/server.properties,格式化存储目录。

      格式化之后的存储目录多了以下两个文件:
      在这里插入图片描述

    6. 安装完成,开始使用吧。

4. Kafka使用

  1. 单机启动:kafka_2.12-3.5.2/bin/kafka-server-start.sh -daemon config/kraft/server.properties

  2. 单机停止:kafka_2.12-3.5.2/bin/kafka-server-stop.sh

  3. 查看进程
    在这里插入图片描述

  4. 创建topic:kafka_2.12-3.5.2/bin/kafka-topics.sh --create --topic predict_task_log --bootstrap-server 192.168.1.6:9092

    创建完topic之后,会在数据存储目录自动新增目录用来存放该topic数据。
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/308771.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

EasyNTS端口穿透服务新版本发布 0.8.7 增加隧道流量总数记录,可以知晓设备哪个端口耗费流量了

EasyNTS上云平台可通过远程访问内网应用,包含网络桥接、云端运维、视频直播等功能,极大地解决了现场无固定IP、端口不开放、系统权限不开放等问题。平台可提供一站式上云服务,提供直播上云、设备上云、业务上云、运维上云服务,承上…

爬虫工作量由小到大的思维转变---<第三十五章 Scrapy 的scrapyd+Gerapy 部署爬虫项目>

前言: 项目框架没有问题大家布好了的话,接着我们就开始部署scrapy项目(没搭好架子的话,看我上文爬虫工作量由小到大的思维转变---<第三十四章 Scrapy 的部署scrapydGerapy>-CSDN博客) 正文: 1.创建主机: 首先gerapy的架子,就相当于部署服务器上的;所以…

Collector收集器的高级用法

Collectors收集器的高级用法 场景1:获取关联的班级名称 原先如果需要通过关联字段拿到其他表的某个字段,只能遍历List匹配获取 for (Student student : studentList) {Long clazzId student.getClazzId();// 遍历班级列表,获取学生对应班级…

超维空间S2无人机使用说明书——51、基础版——使用yolov8进行目标跟踪

引言:为了提高yolo识别的质量,提高了yolo的版本,改用yolov8进行物体识别,同时系统兼容了低版本的yolo,包括基于C的yolov3和yolov4,以及yolov7。 简介,为了提高识别速度,系统采用了G…

数据结构与算法-排序

🌞入冬 时寒 添衣 勿病 要开心 排序 🎈1.排序的基本概念🎈2.排序的分类🔭2.1插入排序🔎2.1.1直接插入排序🔎2.1.2折半插入排序🔎2.1.3希尔排序 🔭2.2交换排序🔎2.2.1冒泡…

07-项目打包 React Hooks

项目打包 项目打包是为了把整个项目都打包成最纯粹的js,让浏览器可以直接执行 打包命令已经在package.json里面定义好了 运行命令:npm run build,执行时间取决于第三方插件的数量以及电脑配置 打包完之后再build文件夹下,这个…

啊?这也算事务?!

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 学习必须往深处挖&…

Spring Boot学习随笔- 集成MyBatis-Plus,第一个MP程序(环境搭建、@TableName、@TableId、@TableField示例)

学习视频:【编程不良人】Mybatis-Plus整合SpringBoot实战教程,提高的你开发效率,后端人员必备! 引言 MyBatis-Plus是一个基于MyBatis的增强工具,旨在简化开发,提高效率。它扩展了MyBatis的功能,提供了许多实用的特性,…

golang第六卷---go命令

go命令 go/go helpgo versiongo envgo buggo buildgo installgo getgo modgo rungo cleango docgo fixgo fmtgo generatego workgo testgo toolgo vet go/go help 通过该命令,我们可以查看go语言中的所有命令,其中go与go help两个命令是等效的 如下&…

实时数仓应用价值(上)

欢迎关注WX公众号:数据运营入表资产化服务 获取更多算法源码材料 2023数据资源入表白皮书,推荐系统源码下载-CSDN博客 浅析研发支出费用化和资本化的区别-CSDN博客 商业银行数据资产估值白皮书,推荐系统源码下载-CSDN博客 用友BIP数据资…

计算机网络【EPoll原理】

预备知识:内核poll钩子原理 内核函数poll_wait 把当前进程加入到驱动里自定义的等待队列上 ; 当驱动事件就绪后,就可以在驱动里自定义的等待队列上唤醒调用poll的进程; 故poll_wait作用:可以让驱动知道事件就绪的时…

笔记1:基于锚框(先验框)的目标检测

一、边缘框(bounding box) 1.1 定义 边缘框:真实标注的物体位置 2.1 表示方式 1、(x1,y1)和(x2,y2) 2、(x1,y1)和w,h 二、锚框(anchor box)/先验框(prior bounding box) 2.1 定义 对边缘…