1、下载
下载地址:https://archive.apache.org/dist/kafka/3.3.2/kafka_2.12-3.3.2.tgz
2、解压
tar -zvxf kafka_2.12-3.3.2.tgz
3、重命名、移动
mv kafka_2.12-3.3.2 /usr/local/
4、配置文件
配置
server.properties
cd /usr/local/kafka_2.12-3.3.2/config
vim server.properties
使用如下配置覆盖原先的配置(一般模式中,光标移至最上行输入d+G即可删除全文):
# 当前机器在集群中的唯一标识,和zookeeper的myid性质一样
broker.id=1
# 套接字服务器监听的地址。如果没有配置,主机名将等于的值
listeners=PLAINTEXT://192.168.110.23:9092
# 当前kafka对外提供服务的端口默认是9092
port=9092
# 这个是borker进行网络处理的线程数
num.network.threads=3
# 这个是borker进行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
# 消息存放的目录,这个目录可以配置为“,”逗号分割的表达式,上面的num.io.threads要大于这个目录的个数这个目录,如果配置多个目录,新创建的topic他
把消息持久化的地方是,当前以逗号分割的目录中,那个分区数最少就放那一个
log.dirs=/usr/local/kafka_2.12-3.3.2/logs
# 默认的分区数,一个topic默认1个分区数
num.partitions=1
# 每个数据目录用来日志恢复的线程数目
num.recovery.threads.per.data.dir=1
# 默认消息的最大持久化时间,168小时,7天
log.retention.hours=168
# 这个参数是:因为kafka的消息是以追加的形式落地到文件,当超过这个值的时候,kafka会新起一个文件
log.segment.bytes=1073741824
# 每隔300000毫秒去检查上面配置的log失效时间
log.retention.check.interval.ms=300000
# 是否启用log压缩,一般不用启用,启用的话可以提高性能
log.cleaner.enable=false
# 设置zookeeper的连接端口
zookeeper.connect=192.168.110.23:2181,192.168.110.24:2181,192.168.110.25:2181
# 设置zookeeper的连接超时时间
zookeeper.connection.timeout.ms=6000
配置
producer.properties
vim producer.properties
末行加入:
metadata.broker.list=node3:2181,node4:2181,node5:2181
配置
consumer.properties
vim consumer.properties
末行加入:
zookeeper.connect=node3:2181,node4:2181,node5:2181
环境变量配置
vim /etc/profile
#kafka
export KAFKA_HOME=/usr/local/kafka_2.12-3.3.2
export PATH=$PATH:$KAFKA_HOME/bin
重新加载配置文件:
source /etc/profile
5、分发文件至其他节点
cd /usr/local
scp -r kafka_2.12-3.3.2/ root@node4:`pwd`
scp -r kafka_2.12-3.3.2/ root@node5:`pwd`
6、重新加载其他的配置文件
在对应节点输入:
source /etc/profile
7、修改node4
与node5
的server.properties
配置文件
将node4
中server.properties
的broker.id
修改为4
将node5
中server.properties
的broker.id
修改为5
将node4
中server.properties
的listeners
修改为node4:9092
将node5
中server.properties
的listeners
修改为node5:9092
8、启动测试
先启动zookeeper集群
三台节点都输入:
zkServer.sh start
再查看启动情况
zkServer.sh status
启动Kafka
三台节点输入
注意:需要修改kafka bin目录下的kafka-run-class.sh
在最上面添加:export JMX_PORT=9999
(用于监控kafa的cpu等硬件使用信息)
kafka-server-start.sh /usr/local/kafka_2.12-3.3.2/config/server.properties
参考连接:https://blog.csdn.net/wudidahuanggua/article/details/127086186