Linux安装Kafka服务
一:下载kafka安装包
wget http://archive.apache.org/dist/kafka/3.3.2/kafka_2.12-3.3.2.tgz
二:解压安装包
tar -zxvf kafka_2.12-3.3.2.tgz
三:修改配置文件
配置文件位置: kafka_2.12-3.3.2/config/server.properties
#指定broker 在集群中的唯一编号,不能重复,只能是数字
broker.id=0
#指定 kafak数据存放的路径,路径不需要提前创建,kafka 自动帮你创建,可以 配置多个磁盘路径,路径与路径之间可以用","分隔
#建议在kafka安装包内部创建
log.dirs=/usr/local/src/kafka_2.12-3.3.2/kafka-logs
#配置连接 Zookeeper 集群地址(在 zk 根目录下创建/kafka,方便管理)
zookeeper.connect=carver01:2181,carver02:2181,carver03:2181/kafka
其他配置项说明,可根据实际情况按需配置
#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 集群地址(在 zk 根目录下创建/kafka,方便管理)
zookeeper.connect=carver01:2181,carver02:2181,carver03:2181/kafka
- 分发安装包到其他机器
# 分发安装包到其他集群节点(carver02、carver03) scp -r kafka_2.12-3.3.2 carver02:/usr/local/src scp -r kafka_2.12-3.3.2 carver03:/usr/local/src
- 修改每台机器的broker.id(注意:broker.id 不得重复,整个集群中唯一)
- 在 carver01 执行
#将 kafka_2.12-3.3.2/config/server.properties 中的 broker.id 设置为0 broker.id=0
- 在carver02执行
#将 kafka_2.12-3.3.2/config/server.properties 中的 broker.id 设置为1 broker.id=1
- 在carver03执行
#将 kafka_2.12-3.3.2/config/server.properties 中的 broker.id 设置为2 broker.id=2
- 配置环境变量
修改 /etc/profile
#添加 kafka环境变量 export KAFKA_HOME=/usr/local/src/kafka_2.12-3.3.2 export PATH=$KAFKA_HOME/bin:$PATH
- 更新配置
source /etc/profile
- 先启动 Zookeeper 集群,然后再启动 Kafka服务
运行kafka需要使用Zookeeper,所以需要先启动一个Zookeeper服务器,如果没有Zookeeper,可以使用kafka自带打包和配置好的Zookeeper
然后启动kafka服务bin/zookeeper-server-start.sh config/zookeeper.properties
bin/kafka-server-start.sh config/server.properties &
-
#启动kafak服务 (如果是集群模式,需要在每个节点上执行) kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties
注意:停止kafka服务
停止 Kafka 集群时,一定要等 Kafka 所有节点进程全部停止后再停止 Zookeeper集群, 因为 Zookeeper 集群当中记录着 Kafka 集群相关信息,Zookeeper 集群一旦先停止, Kafka 集群就没有办法再获取停止进程的信息,只能手动杀死 Kafka 进程了
#停止kafak服务 (如果是集群模式,需要在每个节点上执行)
kafka-server-stop.sh
作者:Carver-大脸猫
出处:https://www.cnblogs.com/carver/articles/17674687.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
转载请注明原处
本文来自博客园,作者:Carver-大脸猫,转载请注明原文链接:https://www.cnblogs.com/carver/articles/17674687.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现