官网:https://kafka.apache.org/
下载地址:https://kafka.apache.org/downloads
在以上页面选择何时版本下载
本文是在一台服务器模拟多节点
例如:
cd /data/soft/
wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz
tar -xvf kafka_2.13-3.6.1.tgz
mv kafka_2.13-3.6.1 kafka
cd kafka/config
cp server.properties server.properties.bak
cp server.properties server.properties1
cp server.properties server.properties2
cp server.properties server.properties3
分别主要修改server.properties1、server.properties2、server.properties3的相关参数
参数样例 | 参数解释 |
---|---|
broker.id=0 | roker的全局唯一编号,每个broker不能重复,因此要在其他机器上配置 broker.id=1、broker.id=2 |
listeners=PLAINTEXT://192.168.30.136:9092 | 指定监听的IP和端口,如果修改每个broker的IP需区分开来,也可保持默认配置不用修改 |
advertised.listeners=PLAINTEXT://192.168.30.136:9092 | 客户端的连接方式 |
num.network.threads=3 | broker 处理网络请求的线程数量,一般情况下不需要去修改 |
num.io.threads=8 | 用来处理磁盘IO的线程数量,数值应该大于硬盘数 |
socket.send.buffer.bytes=102400 | 发送套接字的缓冲区大小 |
socket.receive.buffer.bytes=102400 | 接收套接字的缓冲区大小 |
socket.request.max.bytes=104857600 | 请求套接字的缓冲区大小 |
log.dirs=/tmp/kafka-logs | kafka运行日志存放的路径,也是数据存放的路径 |
num.partitions=1 | topic在当前broker上的默认分区个数,会被topic创建时的指定参数覆盖 |
num.recovery.threads.per.data.dir=1 | 用来恢复和清理data下数据的线程数量 |
log.retention.hours=168 | segment文件(数据文件)保留的最长时间,单位为小时,默认为7天,超时将被删除 |
log.segment.bytes=1073741824 | 一个segment文件最大的大小,默认为 1G,超出将新建一个新的segment文件 |
zookeeper.connect=192.168.30.136:2181,192.168.30.136:2182,192.168.30.136:2183 | 配置连接Zookeeper集群地址 |
按以下修改
vim server.properties1
broker.id=1
log.dirs=/data/soft/kafka/logs/kafka-logs1
listeners=PLAINTEXT://192.168.30.136:9092
advertised.listeners=PLAINTEXT://192.168.30.136:9092
zookeeper.connect=192.168.30.136:2181,192.168.30.136:2182,192.168.30.136:2183
vim server.properties2
broker.id=2
log.dirs=/data/soft/kafka/logs/kafka-logs2
listeners=PLAINTEXT://192.168.30.136:9093
advertised.listeners=PLAINTEXT://192.168.30.136:9093
zookeeper.connect=192.168.30.136:2181,192.168.30.136:2182,192.168.30.136:2183
vim server.properties3
broker.id=3
log.dirs=/data/soft/kafka/logs/kafka-logs3
listeners=PLAINTEXT://192.168.30.136:9094
advertised.listeners=PLAINTEXT://192.168.30.136:9094
zookeeper.connect=192.168.30.136:2181,192.168.30.136:2182,192.168.30.136:2183
启动kafka
cd /data/soft/kafka
# 加'-daemon'是以'后台守护进程启动';不加,则是以'控制台进程启动'
./bin/kafka-server-start.sh -daemon config/server.properties1
./bin/kafka-server-start.sh -daemon config/server.properties2
./bin/kafka-server-start.sh -daemon config/server.properties3
关闭kafka
cd /data/soft/kafka
./bin/kafka-server-stop.sh config/server.properties1
./bin/kafka-server-stop.sh config/server.properties2
./bin/kafka-server-stop.sh config/server.properties3