配置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案例

相关推荐
Evand J18 小时前
【论文复现】MATLAB例程,存在测距误差的WSN无锚点分布式自定位,《WSN中存在测距误差的无锚点分布式自定位方法》
开发语言·分布式·matlab·定位·导航·wsn
格子软件19 小时前
2026年分布式GEO代理流量调度:源码级状态机防重挂实战
java·vue.js·人工智能·spring boot·分布式·vue
2301_8011847519 小时前
kafka-zookeeper
分布式·zookeeper·kafka
Devin~Y20 小时前
抖音级短视频推荐与直播带货平台面试实战:从 Java 微服务到 RAG 智能客服全链路解析
java·spring boot·redis·spring cloud·kafka·agent·rag
大明者省21 小时前
四大模态大模型训练体系全解析(架构+范式+分布式+算力成本·)
笔记·分布式·架构
格子软件1 天前
2026年分布式GEO代理架构:多租户动态数据源隔离与流控源码解构
java·vue.js·人工智能·分布式·架构·vue·geo
nbsaas-boot1 天前
微服务架构下的分布式事务解决方案深度对比与实战选型
分布式·微服务·架构
livemetee1 天前
关于【Kafka高可用配置】
分布式·kafka
TTBIGDATA1 天前
【Ambari Plus】11.Kafka 安装
大数据·hadoop·分布式·kafka·ambari·hdp·ambari plus
李昊哲小课1 天前
Ubuntu26.04 搭建 Hadoop3.5.0 完全分布式
大数据·hadoop·分布式·ubuntu·hdfs·mapreduce