Centos7 安装kafka集群

软件版本

kafka_2.12-2.1.1

下载地址:

https://kafka.apache.org/downloads

1.安装zookeeper集群

 

2.将kafka下载完成后的安装包上传机器地址(地址自己定)

我的上传地址

1
/usr/local/

  

3.解压Kafka

1
cd /usr/local/<br><br>tar -zxvf kafka_2.12-2.1.1.tgz<br><br>mv kafka_2.12-2.1.1  kafka<br>

4.创建日志文件 (可以选做,Kafka有自己默认的日志地址) 

1
2
3
cd kafka
 
mkdir -p kafka-logs

5.编辑Kafka启动配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# 唯一标识在集群中的ID
broker.id=1
# broker 服务器要监听的地址及端口
listeners = PLAINTEXT://192.168.0.166:9092
# 处理网络请求的最大线程数
num.network.threads=3
 
# 处理I/O请求的线程数
num.io.threads=8
 
#发送缓冲区buffer大小,数据不是一下子就发送的,先会存储到缓冲区到达一定的大小后在发送,能提高性能
socket.send.buffer.bytes=102400
 
# kafka接收缓冲区大小,当数据到达一定大小后在序列化到磁盘
socket.receive.buffer.bytes=102400
 
# 这个参数是向kafka请求消息或者向kafka发送消息的请请求的最大数,这个值不能超过java的堆栈大小
socket.request.max.bytes=104857600
 
# 消息日志存放的路径
log.dirs=/usr/local/kafka/kafka-logs
 
# 默认的分区数,一个topic默认1个分区
num.partitions=1
 
# 启停时做日志恢复每个目录所需的线程数,采用RAID的时候可以增大该值
num.recovery.threads.per.data.dir=1
 
 
# 副本数或备份因子
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
 
 
############################# Log Retention Policy #############################
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
 
############################# Zookeeper #############################
 
# Zookeeper 集群.
zookeeper.connect=192.168.0.166:2181,192.168.0.165:2181,192.168.0.167:2181
 
# Timeout in ms for connecting to zookeeper
zookeeper.connection.timeout.ms=6000
 
 
############################# Group Coordinator Settings #############################<br># 在开发测试环境下该值设置为0,保证启动后马上可以使用。但在生产环境下,可以自己选择一个适合时间单位毫秒(推荐3000-5000)
group.initial.rebalance.delay.ms=0

  我的主要配置是三项日志地址可以选做默认也可以:

1
2
3
4
broker.id=1
listeners = PLAINTEXT://192.168.0.166:9092
log.dirs=/usr/local/kafka/kafka-logs
zookeeper.connect=192.168.0.166:2181,192.168.0.165:2181,192.168.0.167:2181

  还有一些其他的配置可以设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 在开发测试环境下该值设置为0,保证启动后马上可以使用。但在生产环境下,默认值3秒更适合
group.initial.rebalance.delay.ms=3000
# 默认为true,启用删除主题。如果此配置已关闭,则通过管理工具删除主题将不起作用
delete.topic.enable=true
# 允许自动创建topic
auto.create.topics.enable=true
# 消息体的最大大小,单位是字节
message.max.byte=5242880
# 单个topic默认分区的replication个数,不能大于集群中broker的个数。
default.replication.factor=3
# replicas每次获取数据的最大字节数
replica.fetch.max.bytes=5242880
# 这个是对外提供的地址 , 当client请求到kafka时, 会分发这个地址
advertised.listeners=PLAINTEXT://192.168.0.166:9092

 6.将kafka拷贝到其他两台机器 (使用命令最方便使用其他的工具也可以)

1
2
3
scp -r /usr/local/kafka root@192.168.0.165:/usr/local
 
scp -r /usr/local/kafka root@192.168.0.167:/usr/local

  注意:如果是拷贝到其他两台的一定要修改的Kafka启动配置的文件

1
2
3
4
5
broker.id=2
listeners = PLAINTEXT://192.168.0.165:9092
 
broker.id=3
listeners = PLAINTEXT://192.168.0.167:9092

  7.启动(三台机器分别启动,友情提示一下zookeeper集群一定要在Kafka启动之前启动)

1
cd /usr/local/kafka/bin/<br><br>./kafka-server-start.sh -daemon ../config/server.properties

  8.验证 (有Kafka了证明启动没有问题)

1
2
3
4
[root@192 bin]# jps
3973 Jps
1958 QuorumPeerMain
2535 Kafka

  9.常使用的Kafka几个命令

1
2
3
4
5
6
7
8
9
查看集群状态:./kafka-topics.sh --describe --zookeeper 192.168.0.165:2181,192.168.0.166:2181,192.168.0.167:2181
 
查看主题列表:./kafka-topics.sh --list --zookeeper 192.168.0.165:2181,192.168.0.166:2181,192.168.0.167:2181
 
创建主题和消息:./kafka-console-producer.sh --broker-list 192.168.0.165:9092,192.168.0.166:9092,192.168.0.167:9092 --topic test
 
订阅主题和消息:./kafka-console-consumer.sh --bootstrap-server 192.168.0.165:9092,192.168.0.166:9092,192.168.0.167:9092 --topic test --from-beginning
 
删除主题及消息:./kafka-topics.sh  --delete --zookeeper 192.168.0.165:2181,192.168.0.166:2181,192.168.0.167:2181  --topic test

  10.安装kafka-manager(在其中一台安装执行,偏向于对kafka集群的管理,可不安装)(我没有安装)

    kafka-manager下载地址:https://github.com/yahoo/kafka-manager

 

posted @   慕容天白  阅读(110)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示