配置kafka

配置kafka_3.0.0

链接: 下载kafka安装包

选Scala 2.12 - kafka_2.12-3.0.0.tgz (asc, sha512)

1.配置kafka

javascript 复制代码
#解压安装包
[gpb@hadoop102 software]$ tar -zxvf kafka_2.12-3.0.0.tgz -C 
/opt/module/

#修改解压后的文件名称
[gpb@hadoop102 module]$ mv kafka_2.12-3.0.0/ kafka

#进入到/opt/module/kafka 目录,修改配置文件
[gpb@hadoop102 kafka]$ cd config/
[gpb@hadoop102 config]$ vim server.properties
javascript 复制代码
#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=hadoop102:2181,hadoop103:2181,hadoop104:2181/kafka



#分发安装包
[gpb@hadoop102 module]$ xsync kafka/
#分别在 hadoop103 和 hadoop104 上修改配置文件/opt/module/kafka/config/server.properties
中的 broker.id=1、broker.id=2


#配置环境变量
(1)在/etc/profile.d/my_env.sh 文件中增加 kafka 环境变量配置
[gpb@hadoop102 module]$ sudo vim /etc/profile.d/my_env.sh
增加如下内容:
#KAFKA_HOME
export KAFKA_HOME=/opt/module/kafka
export PATH=$PATH:$KAFKA_HOME/bin


#刷新一下环境变量。
[gpb@hadoop102 module]$ source /etc/profile
#分发环境变量文件到其他节点,并 source。
[gpb@hadoop102 module]$ sudo /home/atguigu/bin/xsync /etc/profile.d/my_env.sh
[gpb@hadoop103 module]$ source /etc/profile
[gpb@hadoop104 module]$ source /etc/profile

#启动集群
(1)先启动 Zookeeper 集群,然后启动 Kafka。
[gpb@hadoop102 kafka]$ zk.sh start 
(2)依次在 hadoop102、hadoop103、hadoop104 节点上启动 Kafka。
[gpb@hadoop102 kafka]$ bin/kafka-server-start.sh -daemon
config/server.properties
[gpb@hadoop103 kafka]$ bin/kafka-server-start.sh -daemon
config/server.properties
[gpb@hadoop104 kafka]$ bin/kafka-server-start.sh -daemon
config/server.properties


#8)关闭集群
[gpb@hadoop102 kafka]$ bin/kafka-server-stop.sh 
[gpb@hadoop103 kafka]$ bin/kafka-server-stop.sh 
[gpb@hadoop104 kafka]$ bin/kafka-server-stop.sh

在/home/gpb/bin 目录下创建文件 kf.sh 脚本文件

gpb@hadoop102 bin$ vim kf.sh

javascript 复制代码
#! /bin/bash
case $1 in
"start"){
	for i in hadoop102 hadoop103 hadoop104
	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 hadoop102 hadoop103 hadoop104
	do
		echo " --------停止 $i Kafka-------"
		ssh $i "/opt/module/kafka/bin/kafka-server-stop.sh "
	done
};;
esac



#添加执行权限
[gpb@hadoop102 bin]$ chmod +x kf.sh
#启动集群命令
[gpb@hadoop102 ~]$ kf.sh start
#停止集群命令
[gpb@hadoop102 ~]$ kf.sh stop

注意:停止 Kafka 集群时,一定要等 Kafka 所有节点进程全部停止后再停止 Zookeeper

集群。因为 Zookeeper 集群当中记录着 Kafka 集群相关信息,Zookeeper 集群一旦先停止,

Kafka 集群就没有办法再获取停止进程的信息,只能手动杀死 Kafka 进程了。

2.kafka案例

相关推荐
爱浦路 IPLOOK16 小时前
矿山无人化作业5G专网方案:企业专网核心网络选型分析
网络·分布式·科技·5g·信息与通信
实战派K8S&DB17 小时前
如何在内网配置 TiDB 数据库 Agent
数据库·人工智能·分布式·tidb
实战派K8S&DB17 小时前
《基于 Dify + FastAPI + PyTiDB 搭建大模型驱动的 TiDB 智能运维 Agent》
运维·数据库·分布式·云原生·tidb·fastapi
小白羊丨18 小时前
Kafka任务重试、退避与失败恢复怎么做?
分布式·kafka
jyOverQ1 天前
RabbitMQ 延迟消息怎么实现?TTL 与死信队列
分布式·后端·rabbitmq·ruby
zcmodeltech1 天前
工程车模型多车型动作控制系统设计与实现方案——基于STM32与Modbus RTU的挖掘机、装载机、自卸车、起重机、电力工程车全场景控制方案,服务范围覆盖全国
分布式·stm32·单片机·嵌入式硬件·交互
StevenSurpass1 天前
智能工厂场景:FastPrintAgent 分布式打印中间件落地应用方案
分布式·mqtt·http·中间件·打印·fastreport
江畔柳前堤2 天前
具身智能全景深度指南(2026年9月版):从“会聊天的AI“到“能干活的机器“
大数据·javascript·图像处理·人工智能·分布式·智慧城市·原型模式
夕除2 天前
redis--010
笔记·分布式·学习
寻求出路的程序媛2 天前
分布式 & 高性能 & 高可用 体系、学习重点、面试点
分布式·后端·面试·性能优化