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

相关推荐
网络工程小王5 小时前
【HCIE-AI】12.deepspeed分布式并行训练进阶版
人工智能·pytorch·分布式·学习·昇腾·deepspeed
ACP广源盛139246256738 小时前
国产算力互联IX8024@ACP#Kimi K3 开源后的端侧部署硬件架构分析
大数据·人工智能·分布式·单片机·嵌入式硬件
花生了什么事o8 小时前
分布式 ID 生成方案:从数据库自增到雪花算法
数据库·分布式·算法
java1234_小锋8 小时前
【免费】基于Spark实时电商用户行为分析与预测(Java版本+可视化大屏+Kafka+SpringBoot+Vue3) 锋哥原创出品,必属精品
java·spark·kafka·实时电商用户行为分析与预测系统
爱吃提升1 天前
python 分布式爬虫、爬虫合规与综合实战项目
分布式·爬虫·python
ZENERGY-众壹1 天前
跨品牌逆变器升级:华为锦浪德业 API 对接的 7 个坑
分布式·华为·数据归一化·光伏运维·逆变器api
薛定谔的猫19821 天前
LLaMA-Factory +DeepSpeed 分布式多卡训练实战全解
分布式·deepspeed·zero·多卡训练·多卡分布式训练
稚南城才子,乌衣巷风流1 天前
RabbitMQ 消息队列:从入门到实战
分布式·rabbitmq
AI人工智能+电脑小能手1 天前
【大白话说Java面试题 第194题】【08_Kafka篇】第10题:简述 Kafka 的 Rebalance 机制?
java·kafka·消费者组·rebalance·分布式消息队列
Database_Cool_2 天前
单机 MySQL 迁移到分布式数据库方便吗?阿里云 PolarDB-X 100% MySQL 协议兼容零改造平滑迁移
数据库·分布式·mysql