一、kafka集群实例角色规划
在本专栏的之前的一篇文章《kafka3种zk的替代方案》已经为大家介绍过在kafka3.0种已经可以将zookeeper去掉。

上图中黑色代表broker(消息代理服务),褐色/蓝色代表Controller(集群控制器服务)
- 左图(kafka2.0):一个集群所有节点都是broker角色,kafka从三个broker中选举出来一个Controller控制器,控制器将集群元数据信息(比如主题分类、消费进度等)保存到zookeeper,用于集群各节点之间分布式交互。
- 右图(kafka3.0):假设一个集群有四个broker,指定三个作为Conreoller角色(蓝色),从三个Controller中选举出来一个Controller作为主控制器(褐色),其他的2个备用。zookeeper不再被需要!相关的元数据信息以kafka日志的形式存在(即:以消息队列消息的形式存在)。
- controller通信端口:9093, 作用与zk的2181端口类似 。
在搭建kafka3.0集群之前, 我们需要先做好kafka实例角色规划。(四个broker, 需要通过主动配置指定三个作为Controller, Controller需要奇数个, 这一点和zk是一样的)
| 主机名称 | ip | 角色 | node.id |
|---|---|---|---|
| kafka-vm1 | 192.168.1.111 | broker,controller | 1 |
| kafka-vm2 | 192.168.1.112 | broker,controller | 2 |
| kafka-vm3 | 192.168.1.113 | broker,controller | 3 |
| kafka-vm4 | 192.168.1.114 | broker | 4 |
二、准备工作
- kafka3.x不再支持JDK8,建议安装JDK11或JDK17。
- 新建kafka持久化日志数据mkdir -p /data/kafka;并保证安装kafka的用户具有该目录的读写权限。
各个机器节点执行:
# 安装jdk(kafka3.x不再支持JDK8,建议安装JDK11或JDK17, 这里安装jdk11)
# 下载安装jdk11, 参考: https://blog.youkuaiyun.com/justlpf/article/details/127268046
# 下载kafka
adduser kafka
cd /opt
wget https://downloads.apache.org/kafka/3.3.1/kafka_2.12-3.3.1.tgz
tar -xf kafka_2.12-3.3.1.tgz
chown -R kafk

本文详细介绍了如何在Kafka3.0中规划和配置实例角色,包括指定Controller节点,修改Kraft协议配置,格式化存储目录,以及启动、停止集群和管理topic的操作。
最低0.47元/天 解锁文章
471

被折叠的 条评论
为什么被折叠?



