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数据。
    在这里插入图片描述

相关推荐

  1. centos nginx 安装 stream 模块

    2024-01-02 17:48:01       56 阅读
  2. CentOS 系统上使用 yum 安装 Nginx 及其模块

    2024-01-02 17:48:01       31 阅读
  3. centos7安装单机模式kafka 2.12-3.5.2

    2024-01-02 17:48:01       45 阅读
  4. centos7安装rabbitMQ

    2024-01-02 17:48:01       65 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-02 17:48:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-02 17:48:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-01-02 17:48:01       82 阅读
  4. Python语言-面向对象

    2024-01-02 17:48:01       91 阅读

热门阅读

  1. MySQL 8.1 和 8.2 中 EXPLAIN 的新玩法

    2024-01-02 17:48:01       59 阅读
  2. 机房使用超融合系统的卓越优势

    2024-01-02 17:48:01       78 阅读
  3. 机器学习一些概念

    2024-01-02 17:48:01       52 阅读
  4. c语言-数据类型详细介绍

    2024-01-02 17:48:01       61 阅读
  5. CentOS7安装docker

    2024-01-02 17:48:01       61 阅读
  6. MySQL5.7服务器 SQL 模式

    2024-01-02 17:48:01       52 阅读
  7. 前端crypto-js 库: MD5

    2024-01-02 17:48:01       67 阅读
  8. 7-2 sdut-Map-Sort--C~K的班级(III) --笔记篇

    2024-01-02 17:48:01       57 阅读