kafka 集群搭建

1. 软件准备

1.1. 下载上传

点击下载

下载完成后上传到服务器的 /opt/software 目录下

image-20230305124235153

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 集群:可以参考

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

image-20230305143707331

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值