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

① 安装ZooKeeper

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

  • 修改文件夹名为kafkazk
    因为kafka内置了ZooKeeper软件,所以此处将解压缩的文件作为ZooKeeper软件使用。
  • 修改config/zookeeper.properties文件
dataDir=D:/kafkacluster/kafkazk/data
# the port at which the clients will connect
clientPort=2181
  • 1.
  • 2.
  • 3.

② 安装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
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

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

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

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

Kafka【三】Windows下安装Kafka集群_集群部署

③ 封装启动脚本

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

# 添加启动命令
call bin/windows/zookeeper-server-start.bat config/zookeeper.properties
  • 1.
  • 2.

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

# 添加启动命令
call bin/windows/kafka-server-start.bat config/server.properties
  • 1.
  • 2.

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

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
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

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

cd kafkazk
rd /s /q data
cd ../kafka1
rd /s /q data
cd ../kafka2
rd /s /q data
cd ../kafka3
rd /s /q data
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

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

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

Kafka【三】Windows下安装Kafka集群_windows_02

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

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

  • 使用较短的文件夹和文件的名称
  • 减少文件夹树的深度