1. 软件准备
1.1. 下载上传
下载完成后上传到服务器的 /opt/software 目录下
1.2. 解压修改
# 解压文件到指定目录
tar -zxvf kafka_2.13-3.4.0.tgz -C /opt/module/
# 修改目录名称
cd /opt/module
mv kafka_2.13-3.4.0 kafka
2. zookeeper 模式
该模式需要先存在 zookeeper 集群:可以参考
2.1. 修改配置文件
vim /opt/module/kafka/config/server.properties
修改下方配置
# 集群的 broker 唯一标识,全局唯一不能重复,这里分别设置为 1 2 3
broker.id=1
# 日志文件的存放位置
log.dirs=/opt/module/kafka/data
# Zookeeper 的集群地址以及使用的目录
zookeeper.connect=mitchell-101:2181,mitchell-102:2181,mitchell-103:2181/kafka
2.2. 修改启动堆内存
vim /opt/module/kafka/bin/kafka-server-start.sh
修改下方内容
export KAFKA_HEAP_OPTS="-Xmx256M -Xms256M"
2.3. 启动停止
# 进入软件根路径
cd /opt/module/kafka_2.13_3.4.0
# 启动服务
./bin/kafka-server-start.sh -daemon ./config/server.properties
# 停止服务
./bin/kafka-server-stop.sh
2.4. 注意点
broker.id=1 这个配置每台服务器都需要不同,否则会互相顶
新节点软件如果是拷贝或者分发的,需要删除 data 目录下的所有文件,否则启动会报错
2.5. 集群启停脚本
vim /opt/module/bin/mkafka.sh
#!/bin/bash
if [ $# -lt 1 ]
then
echo "请输入参数 start 或 stop"
exit;
fi
case $1 in
"start")
echo "=============================== 启动 zookeeper 集群 ==============================="
for i in mitchell-101 mitchell-102 mitchell-103
do
echo "------------------------------- 启动 $i -------------------------------"
ssh $i "/opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties"
done
;;
"stop")
echo "=============================== 停止 zookeeper 集群 ==============================="
for i in mitchell-101 mitchell-102 mitchell-103
do
echo "------------------------------- 停止 $i -------------------------------"
ssh $i "/opt/module/kafka/bin/kafka-server-stop.sh"
done
;;
esac
3. kraft 模式
3.1. 修改配置文件
vim /opt/module/kafka/config/kraft/server.properties
相关配置文件地址:
# 此服务器的角色,多个用 逗号 隔开
# 设置这个值将使我们处于 KRaft 模式
process.roles=broker,controller
# 与此实例的角色关联的节点id,集群部署时保持全局唯一
node.id=1
# controller 角色选举的套接字,集群部署时用 逗号 隔开
# 每个套接字的开头和 node.id 保持一致
controller.quorum.voters=1@mitchell-101:9093
# 对外暴露的可以被客户端连接的地址
advertised.listeners=PLAINTEXT://mitchell-101:9092
# 日志文件的保存地址,多个地址可以用 逗号 隔开
log.dirs=/opt/module/kafka_2.13_3.4.0/data
3.2. 启动
# 进入到 kafka 的根目录
cd /opt/module/kafka2.12_3.4.0
# 获取秘钥,执行结果为:wrG5cTGRS9S2aiOTG-_cdg
./bin/kafka-storage.sh random-uuid
# 初始化,ps:下方为一条命令
./bin/kafka-storage.sh format -t wrG5cTGRS9S2aiOTG-_cdg -c /opt/module/kafka2.12_3.4.0/config/kraft/server.properties
# 启动集群
./bin/kafka-server-start.sh -daemon config/kraft/server.properties
# 查看是否启动成功
jps