目录标题
-
-
- ⭐`kafka` 与 `zookeeper`间的关系
- 一.集群部署
- 二.修改配置文件
- 三.分发安装包
- 四.启动与关闭
-
kafka 与 zookeeper 相同,是以集群的形式使用
⭐kafka
与 zookeeper
间的关系
- kafka 的使用 要在 zookeeper 集群配置好的基础上 使用
- 要想启动kafka 要先启动 zookeeper
原因如下
Kafka 启动前需要先启动 ZooKeeper,因为 Kafka 依赖 ZooKeeper 完成以下核心功能:
- 集群管理
ZooKeeper 存储 Kafka 集群的元数据(如 Broker 列表、Topic 配置、分区副本信息),Broker 启动时必须向 ZooKeeper 注册自身信息并同步集群状态 - 控制器选举
Kafka 集群需要选出一个主节点(Controller)来协调分区和副本的故障恢复,ZooKeeper 负责实现这一选举过程 - 故障监测
ZooKeeper 通过临时节点实时监控 Broker 存活状态,一旦 Broker 宕机,立即触发副本切换或重新选举 - 配置同步
动态配置(如 Topic 参数)通过 ZooKeeper 统一管理,确保所有 Broker 配置一致
如果 ZooKeeper 未启动:
Kafka Broker 无法获取集群信息、无法选举控制器、无法感知其他节点,导致启动失败或集群不可用
注
新版本的kafka(2.8+)支持 独立运行
一.集群部署
- 下载安装包
- 解压安装包 至 指定位置
- 修改名称为
kafka
- 配置 环境变量
export KAFKA_HOME = /opt/module/kafka
export PATH = $PATH:$KAFKA_HOME/bin
内容为 kafka
中,bin文件
的位置
- 刷新
profile
文件 使环境变量 生效
source /etc/profile
事后将 环境变量 分发给 集群内 的 其他虚拟机
二.修改配置文件
配置文件名为 server.properties
位于 kafka/config/
中
- 修改内容有三处
- 本机 kafka 的编号 (唯一性)
broker.id
= - kafka 日志文件存放的位置
因为 默认位置 在电脑 关机初始化的文件夹中
log.dirs= /opt/module/kafka/datas
- 连接 zookeeper 集群地址
(并存储在zookeeper 下的 kafka,方便管理)
zookeeper.connect = 虚拟机名:2181,虚拟机名:2181,虚拟机名:2181/kafka
三.分发安装包
scp -r 文件名 虚拟机名:位置
- ⭐切记
分发后,一定要将server.properties
内的 kafka编号 更改
broker.id=
使编号 不重复,且集群内 虚拟机的编号 最好连续(可以为“0”)
四.启动与关闭
先进入到kafka
启动
bin/kafka-server-start.sh start config/server.properties
关闭
bin/kafka-server-stop.sh