kafka集群安装
文档
下载地址
说明
- 版本选择:3.0.0,
kafka_2.12-3.0.0.tgz
- 下载地址:https://archive.apache.org/dist/kafka/3.0.0/kafka_2.12-3.0.0.tgz
- 先安装单机版,参考kafka单机安装 ,然后调整配置文件,即可转为集群安装
安装前准备
- 安装环境:linux,centos7
- 安装java环境,参考:linux安装java -centos安装java -linux配置java环境变量
- 安装zookeeper集群,参考:zookeeper集群安装
集群安装
-
在三台服务器上安装3个kafka服务,组成集群,先在一台服务器上安装好,然后复制到另外两台服务器上,修改配置即可
-
安装单机版,参考kafka单机安装
-
配置服务器编号
在单机版安装中,已经在配置文件
config/server.properties
中,设置了broker.id
属性的值propertiesbroker.id=0
broker.id
是唯一标识,集群内不能重复,在3台服务器上,分别将broker.id
的值设置为0
、1
、2
-
如果单机版启动过,可以删除数据
- 删除kafka根目录的
datas
文件夹 - 删除zookeeper集群的
kafka
节点
- 删除kafka根目录的
-
注意事项
- 将服务器编号
broker.id
设置为不同的值
- 将服务器编号
关闭防火墙
如果存在防火墙,应保证服务之间正常通信,可以先关闭防火墙
-
查看防火墙状态
shellsystemctl status firewalld
-
关闭防火墙
shellsystemctl stop firewalld
启动kafka服务端
-
先启动zookeeper集群,在每个服务器中,分别启动zookeeper
shellcd /opt/module/zookeeper-3.5.7/bin ./zkServer.sh start
安装zookeeper集群,参考:zookeeper集群安装
-
启动kafka
shellcd /opt/module/kafka/bin ./kafka-server-start.sh -daemon ../config/server.properties
启动kafka需要指定配置文件
-
停止kafka
shellcd /opt/module/kafka/bin ./kafka-server-stop.sh
注意:先停止kafka,再停止zookeeper
zookeeper集群启动停止脚本
-
使用集群启动脚本,可一键启动集群中的所有服务
-
注意事项
- 脚本中连接其它服务器未使用密码,所有应提前设置ssh免密登录
- ssh远程登录可能会出现找不到
JAVA_HOME
的问题,可以将java的配置信息配置到/etc/bashrc
中
-
具体脚本内容
脚本名称:
kafka.sh
shell#!/bin/bash case $1 in "start"){ for i in root@192.168.145.132 root@192.168.145.133 root@192.168.145.134 do # 提前设置免密登录 echo ------ 启动 $i kafka ------ ssh $i "/opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties" done } ;; "stop"){ for i in root@192.168.145.132 root@192.168.145.133 root@192.168.145.134 do # 提前设置免密登录 echo ------ 停止 $i kafka ------ ssh $i "/opt/module/kafka/bin/kafka-server-stop.sh" done } ;; esac
-
启动kafka集群各个节点
shell./kafka.sh start
-
关闭kafka集群各个节点
./kafka.sh stop
参考资料
- 尚硅谷