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

相关推荐
初晴~1 小时前
【Redis分布式锁】高并发场景下秒杀业务的实现思路(集群模式)
java·数据库·redis·分布式·后端·spring·
有一个好名字2 小时前
zookeeper分布式锁模拟12306买票
分布式·zookeeper·云原生
漫无目的行走的月亮3 小时前
Ubuntu下C语言操作kafka示例
kafka·librdkafka
yukai080085 小时前
【最后203篇系列】002 - 两个小坑(容器时间错误和kafka模块报错
分布式·kafka
老猿讲编程6 小时前
OMG DDS 规范漫谈:分布式数据交互的演进之路
分布式·dds
C++忠实粉丝6 小时前
服务端高并发分布式结构演进之路
分布式
洛神灬殇7 小时前
彻底认识和理解探索分布式网络编程中的SSL安全通信机制
网络·分布式·ssl
龙哥·三年风水8 小时前
workman服务端开发模式-应用开发-vue-element-admin封装websocket
分布式·websocket·vue
李洋-蛟龙腾飞公司11 小时前
HarmonyOS Next 应用元服务开发-分布式数据对象迁移数据文件资产迁移
分布式·华为·harmonyos
技术路上的苦行僧13 小时前
分布式专题(10)之ShardingSphere分库分表实战指南
分布式·shardingsphere·分库分表