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

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.lryc.cn/news/270052.html

相关文章:

  • 学习笔记13——Spring整合Mybatis、junit、AOP、事务
  • 【12月比赛合集】4场可报名的「创新应用」、「数据分析」和「程序设计」大奖赛,任君挑选!
  • Cisco模拟器-企业网络部署
  • WPF+Halcon 培训项目实战(12):WPF导出匹配模板
  • uniapp中uview组件库的丰富Upload 上传上午用法
  • Unity关于动画混合树(Blend Tree)的使用
  • 怎么下载landsat 8影像并在ArcGIS Pro中进行波段组合
  • 编程新手IDE
  • 如何将一个JSON字符串解析为JavaScript对象或值
  • idea配置docker推送本地镜像到远程私有仓库
  • Spring Boot学习随笔- 集成MyBatis-Plus(二)条件查询QueryWrapper、聚合函数的使用、Lambda条件查询
  • 十二、K8S之污点和容忍
  • llvm后端之指令选择源码分析
  • 【消息中间件】Rabbitmq消息可靠性、持久化机制、各种消费
  • aws-sdk-cpp通过bazel构建的S3_client轮子
  • 关于WPF MVVM 的详细使用过程以及注意的问题
  • 计算机视觉 全教程目录
  • 油猴脚本开发,之如何添加html和css
  • 【MATLAB】BiGRU神经网络时序预测算法
  • 57.0/初识 PhotoShopCS4(详细版)
  • [C#]opencvsharp进行图像拼接普通拼接stitch算法拼接
  • 《妙趣横生的算法》(C语言实现)-第10章算法设计与数据结构面试题精粹
  • (JAVA)-(网络编程)-初始网络编程
  • Observer观察者模式(组件协作)
  • 数据挖掘 聚类度量
  • [Angular] 笔记 24:ngContainer vs. ngTemplate vs. ngContent
  • ❀My排序算法学习之插入排序❀
  • 【算法题】30. 串联所有单词的子串
  • SAP-FI模块 处理自动生成会计凭证增强
  • Shell脚本-bin/bash: 解释器错误: 没有那个文件或目录-完整路径执行-“/”引发的脑裂