kafka----初步安装与配置

目录标题

      • ⭐`kafka` 与 `zookeeper`间的关系
      • 一.集群部署
      • 二.修改配置文件
      • 三.分发安装包
      • 四.启动与关闭

kafkazookeeper 相同,是以集群的形式使用

kafkazookeeper间的关系

  • kafka 的使用 要在 zookeeper 集群配置好的基础上 使用
  • 要想启动kafka 要先启动 zookeeper

原因如下

Kafka 启动前需要先启动 ZooKeeper,因为 Kafka 依赖 ZooKeeper 完成以下核心功能

  1. 集群管理
    ZooKeeper 存储 Kafka 集群的元数据(如 Broker 列表、Topic 配置、分区副本信息),Broker 启动时必须向 ZooKeeper 注册自身信息并同步集群状态
  2. 控制器选举
    Kafka 集群需要选出一个主节点(Controller)来协调分区和副本的故障恢复,ZooKeeper 负责实现这一选举过程
  3. 故障监测
    ZooKeeper 通过临时节点实时监控 Broker 存活状态,一旦 Broker 宕机,立即触发副本切换或重新选举
  4. 配置同步
    动态配置(如 Topic 参数)通过 ZooKeeper 统一管理,确保所有 Broker 配置一致

如果 ZooKeeper 未启动

Kafka Broker 无法获取集群信息、无法选举控制器、无法感知其他节点,导致启动失败或集群不可用


新版本的kafka(2.8+)支持 独立运行


一.集群部署

  1. 下载安装包
  2. 解压 安装包 至 指定位置
  3. 修改名称为 kafka
  4. 配置 环境变量
shell 复制代码
export KAFKA_HOME = /opt/module/kafka
export PATH = $PATH:$KAFKA_HOME/bin

内容为 kafka 中,bin文件 的位置

  1. 刷新 profile文件 使环境变量 生效
shell 复制代码
source /etc/profile

事后将 环境变量 分发给 集群内其他虚拟机


二.修改配置文件

配置文件名为 server.properties

位于 kafka/config/

  • 修改内容有三处
  1. 本机 kafka 的编号 (唯一性)
    broker.id=
  2. kafka 日志文件存放的位置
    因为 默认位置 在电脑 关机初始化的文件夹中
    log.dirs= /opt/module/kafka/datas
  3. 连接 zookeeper 集群地址
    (并存储在zookeeper 下的 kafka ,方便管理)
    zookeeper.connect = 虚拟机名:2181,虚拟机名:2181,虚拟机名:2181/kafka

三.分发安装包

shell 复制代码
scp -r 文件名 虚拟机名:位置
  • ⭐切记
    分发后,一定要将 server.properties 内的 kafka编号 更改
    broker.id=
    使编号 不重复 ,且集群内 虚拟机的编号 最好连续(可以为"0")

四.启动与关闭

进入 到kafka
启动
bin/kafka-server-start.sh start config/server.properties
关闭
bin/kafka-server-stop.sh

相关推荐
qq_2975746718 小时前
【Kafka系列·进阶第一篇】生产可靠性实战:死信队列+幂等性+集群扩容+灾备切换
分布式·kafka
请为小H留灯21 小时前
Kafka详解及实战案例
分布式·kafka·linq·消费
Devin~Y1 天前
大厂内容社区面试实录:从 Spring Boot 微服务到 AI RAG 问答(附详细解析)
java·spring boot·redis·elasticsearch·spring cloud·微服务·kafka
indexsunny1 天前
互联网大厂Java求职面试实战:从Spring Boot到Kafka的技术问答解析
java·spring boot·spring cloud·kafka·flyway·hikaricp·microservices
刘~浪地球2 天前
消息队列--Kafka 生产环境最佳实践
分布式·kafka·linq
却话巴山夜雨时i2 天前
互联网大厂Java面试场景:Spring Boot、微服务与Redis实战解析
spring boot·redis·微服务·kafka·prometheus·java面试·电商场景
indexsunny2 天前
互联网大厂Java面试实战:Spring Boot、MyBatis与Kafka在电商场景中的应用
java·spring boot·面试·kafka·mybatis·电商·技术栈
武子康2 天前
大数据-266 实时数仓-Canal + Kafka 实现 MySQL 数据库变更实时捕获
大数据·后端·kafka
creator_Li2 天前
Kafka 全面技术笔记
笔记·学习·kafka
青春不流名2 天前
kafka 集成OAUTHBEARER认证的例子
分布式·kafka