CentOS离线部署Kafka
Kafka依赖于组件zookeeper 部署教程 CentOS离线部署zookeeper
-
下载
此处以kafka_2.13-2.8.1为例 下载地址 Kafka
-
解压
tar -zxvf kafka_2.13-2.8.1.tgz
-
修改配置文件
server.properties
路径/kafka/config
# broker的全局唯一编号 不能重复
broker.id=0
# 用来监听链接的端口 producer或consumer将在此端口建立连接
port=9092
# 处理网络请求的线程数量 也就是接收消息的线程数
# 接收线程会将接收到的消息放到内存中 然后再从内存中写入磁盘。
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运行日志存放的路径
log.dirs=/home/kafka/logs
# topic在当前broker上的分片个数
num.partitions=1
# segment文件默认会被保留7天的时间 超时会被清理 这里是用来设置恢复和清理data下数据的线程数量
num.recovery.threads.per.data.dir=1
# segment文件保留的最长时间 默认保留7天(168小时) 超时将被删除
log.retention.hours=168
# 日志文件中每个segment的大小 默认为1G
log.segment.bytes=1073741824
# 上面的参数设置了每一个segment文件的大小是1G 就需要去定期检查segment文件有没有达到1G 这里是设置一个周期性检查文件大小的时间(单位:毫秒)
log.retention.check.interval.ms=300000
# zookeeper地址 broker需要使用zookeeper保存meta数据
zookeeper.connect=localhost:2181
# zookeeper链接超时时间
zookeeper.connection.timeout.ms=18000
group.initial.rebalance.delay.ms=0
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
-
启动
/home/kafka/bin/kafka-server-start.sh /home/kafka/config/server.properties
后台运行需要加上-daemon
/home/kafka/bin/kafka-server-start.sh -daemon /home/kafka/config/server.properties