Kafka【三】Windows下安装Kafka集群

前文:Kafka【一】Windows下安装单节点Kafka

① 安装ZooKeeper

D:\创建文件夹kafkacluster,将kafka安装包kafka_2.12-3.6.1解压缩到kafka文件夹。

  • 修改文件夹名为kafkazk

    因为kafka内置了ZooKeeper软件,所以此处将解压缩的文件作为ZooKeeper软件使用。

  • 修改config/zookeeper.properties文件

bash 复制代码
dataDir=D:/kafkacluster/kafkazk/data
# the port at which the clients will connect
clientPort=2181

② 安装kafka

将上面解压缩的文件复制一份,改名为kafka1,然后修改config/server.properties配置文件:

# kafka节点数字标识,集群内具有唯一性
broker.id=1

# 监听器 9091为本地端口,如果冲突,请重新指定
listeners=PLAINTEXT://:9091

# 数据文件路径,如果不存在,会自动创建
log.dirs=D:/kafkacluster/kafka1/data

# ZooKeeper软件连接地址,2181为默认的ZK端口号 /kafka 为ZK的管理节点
zookeeper.connect=localhost:2181/kafka

将kafka1文件夹复制两份,改名为kafka2,kafka3

分别修改kafka2,kafka3文件夹中的配置文件server.properties

  • 将文件内容中的broker.id=1分别改为broker.id=2,broker.id=3
  • 将文件内容中的9091分别改为9092,9093(如果端口冲突,请重新设置)
  • 将文件内容中的kafka1分别改为kafka2,kafka3

③ 封装启动脚本

① 在kafkazk文件夹下创建zk.cmd批处理文件

bash 复制代码
# 添加启动命令
call bin/windows/zookeeper-server-start.bat config/zookeeper.properties

② 在kafka1,kafka2,kafka3文件夹下分别创建kfk.cmd批处理文件

bash 复制代码
# 添加启动命令
call bin/windows/kafka-server-start.bat config/server.properties

③ 在kafkacluster文件夹下创建cluster.cmd批处理文件,用于启动kafka集群

bash 复制代码
cd kafkazk
start zk.cmd
ping 127.0.0.1 -n 10 >nul
cd ../kafka1
start kfk.cmd
cd ../kafka2
start kfk.cmd
cd ../kafka3
start kfk.cmd

④ 在kafkacluster文件夹下创建cluster-clear.cmd批处理文件,用于清理和重置kafka数据

bash 复制代码
cd kafkazk
rd /s /q data
cd ../kafka1
rd /s /q data
cd ../kafka2
rd /s /q data
cd ../kafka3
rd /s /q data

⑤ 双击执行cluster.cmd文件,启动Kafka集群

集群启动命令后,会打开多个黑窗口,每一个窗口都是一个kafka服务,请不要关闭,一旦关闭,对应的kafka服务就停止了。

如果启动过程报错,主要是因为zookeeper和kafka的同步问题,请先执行cluster-clear.cmd文件,再执行cluster.cmd文件即可。

PS : 输入行太长,命令语法不挣缺的解决办法

  • 使用较短的文件夹和文件的名称
  • 减少文件夹树的深度
相关推荐
Mephisto.java1 小时前
【大数据学习 | Spark】Spark的改变分区的算子
大数据·elasticsearch·oracle·spark·kafka·memcache
梓仁沐白6 小时前
ubuntu+windows双系统切换后蓝牙设备无法连接
windows·ubuntu
KevinAha9 小时前
Kafka 3.5 源码导读
kafka
求积分不加C9 小时前
-bash: ./kafka-topics.sh: No such file or directory--解决方案
分布式·kafka
nathan05299 小时前
javaer快速上手kafka
分布式·kafka
九鼎科技-Leo10 小时前
什么是 WPF 中的依赖属性?有什么作用?
windows·c#·.net·wpf
激流丶12 小时前
【Kafka 实战】Kafka 如何保证消息的顺序性?
java·后端·kafka
Yang.9912 小时前
基于Windows系统用C++做一个点名工具
c++·windows·sql·visual studio code·sqlite3
我不瘦但很逗12 小时前
Windows下使用DBeaver连接云数据库(MySQL)
数据库·windows
ashane131413 小时前
Java list
java·windows·list