部署文档

下载地址

https://kafka.apache.org/downloads.html

解压安装包

tar -zxvf kafka_2.12-3.0.0.tgz

修改配置文件

// 修改config下的server.properties文件
cd config/
vim server.properties
// broker 的全局唯一编号,不能重复,只能是数字。
broker.id=0
// 处理网络请求的线程数量
num.network.threads=3
// 用来处理磁盘 IO 的线程数量
num.io.threads=8
// 发送套接字的缓冲区大小
socket.send.buffer.bytes=102400
// 接收套接字的缓冲区大小
socket.receive.buffer.bytes=102400
// 请求套接字的缓冲区大小
socket.request.max.bytes=104857600
// kafka 运行日志(数据)存放的路径,路径不需要提前创建,kafka 自动帮你创建,可以配置多个磁盘路径,路径与路径之间可以用","分隔
log.dirs=/opt/module/kafka/datas
// topic 在当前 broker 上的分区个数
num.partitions=1
// 用来恢复和清理 data 下数据的线程数量
num.recovery.threads.per.data.dir=1
// 每个 topic 创建时的副本数,默认时 1 个副本
offsets.topic.replication.factor=1
// segment 文件保留的最长时间,超时将被删除
log.retention.hours=168
// 每个 segment 文件的大小,默认最大 1G
log.segment.bytes=1073741824
// 检查过期数据的时间,默认 5 分钟检查一次是否数据过期
log.retention.check.interval.ms=300000
// 配置连接 Zookeeper 集群地址
zookeeper.connect=127.0.0.1:2181,127.0.0.1:2181,127.0.0.1:2181

集群启动脚本

// 创建启动脚本
vim kafka_start.sh
// 脚本内容
#! /bin/bash
case $1 in
"start"){
	for i in kafka001 kafka002 kafka003
	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 kafka001 kafka002 kafka003
	do
		echo " --------停止 $i Kafka-------"
		ssh $i "/opt/module/kafka/bin/kafka-server-stop.sh "
	done
};;
esac

启动命令

kafka_start.sh start

停止命令

// 停止kafka集群时,一定要等kafka节点所有进程停止之后再停止zookeeper集群,因为zookeeper中记录着kafka集群的信息,zookeeper集群停止之后kafka没有办法获取停止进程的信息,只能手动杀死进程
kafka_start.sh stop
posted @ 2023-12-06 17:03  叮叮叮叮叮叮当  阅读(13)  评论(0编辑  收藏  举报