一、基础环境准备
sudo apt update && sudo apt install -y openjdk-11-jdkjava -version验证是否成功。/opt/kafka):wget https://downloads.apache.org/kafka/3.2.0/kafka_2.13-3.2.0.tgz && tar -xzf kafka_2.13-3.2.0.tgz -C /opt/。二、数据存储路径配置
/opt/kafka/config/server.properties,设置log.dirs为自定义存储路径(如/data/kafka/logs),该路径用于存放Topic的所有消息日志:log.dirs=/data/kafka/logs。kafka)有读写权限:sudo mkdir -p /data/kafka/logs && sudo chown -R kafka:kafka /data/kafka/logs。三、存储性能优化配置
num.partitions=N×2(充分利用磁盘并行IO);若并发量低,可设为1或2。bin/kafka-topics.sh --create --topic test_topic --bootstrap-server localhost:9092 --partitions 3 --replication-factor 1。log.retention.hours=168(保留7天,可根据磁盘空间调整,如30天则改为720);log.retention.bytes=10737418240(保留10GB,当分区日志超过该值时,旧数据会被删除);log.segment.bytes=1073741824(1GB),当日志段达到该大小时,Kafka会自动创建新段。较大的段文件可减少文件数量,提高磁盘IO效率。log.flush.interval.messages=10000:每写入10000条消息刷一次盘(平衡吞吐量与数据安全性);log.flush.interval.ms=1000:每1秒刷一次盘(避免因突发故障丢失数据);/opt/kafka/config/kafka-server.properties(或/etc/default/kafka-server),设置堆内存为物理内存的1/4~1/2(如4GB内存设为-Xmx4G -Xms4G):KAFKA_HEAP_OPTS="-Xmx4G -Xms4G"。四、高可用与数据安全
--replication-factor≥2(如3副本),确保数据在多个Broker间冗余存储;min.insync.replicas=2(至少2个副本同步成功才返回成功响应),保证数据一致性。log.dirs目录(如使用rsync或tar打包),存储至异地或云存储;MirrorMaker工具实现跨集群数据同步。五、监控与维护
df -h定期检查存储路径的磁盘使用率(建议预留20%以上空间),避免因磁盘满导致Kafka崩溃。kafka-topics.sh --describe --topic test_topic --bootstrap-server localhost:9092查看Topic详情(包括分区数、副本数、保留策略);使用kafka-log-dirs.sh --describe --bootstrap-server localhost:9092检查日志段状态。