1. 系统环境准备
sudo yum install java-1.8.0-openjdk-devel -y安装,安装后用java -version验证是否成功。zookeeper.properties中的dataDir和clientPort)。2. Kafka配置文件优化(server.properties)
broker.id需设置为集群中唯一的整数(如0、1);listeners指定Broker监听的协议和地址(如PLAINTEXT://your_server_ip:9092);advertised.listeners需设置为外部客户端可访问的地址(如PLAINTEXT://your_public_ip:9092),确保客户端能正确连接。log.dirs指定Kafka日志存储目录(如/var/lib/kafka/logs),建议使用独立分区并挂载为XFS文件系统(开启noatime选项);zookeeper.connect填写Zookeeper集群地址(如localhost:2181或zk1:2181,zk2:2181,zk3:2181)。num.partitions设置主题的初始分区数(建议与消费者线程数匹配,如4-8个);default.replication.factor设置副本数(生产环境建议≥3,以提高数据可靠性,但会增加网络开销)。3. 操作系统性能调优
/etc/sysctl.conf文件,设置vm.swappiness=1(减少swap使用,避免磁盘IO瓶颈);vm.dirty_background_ratio=10、vm.dirty_ratio=60(控制脏页刷新时机,平衡磁盘IO与写入性能);net.core.rmem_default=262144、net.core.wmem_default=262144(调整网络缓冲区大小,提高网络吞吐量);net.ipv4.tcp_wmem=4096 16384 4194304、net.ipv4.tcp_rmem=4096 87380 4194304(优化TCP缓冲区,提升网络传输效率);vm.max_map_count=655360(增加内存映射区域数量,支持更多并发连接)。noatime选项(减少文件访问时间记录,降低磁盘IO)。4. 资源分配与硬件选择
-Xmx4G -Xms4G);使用多核CPU(建议≥4核),Kafka的多线程模型能有效利用多核资源。5. 安全配置
security.inter.broker.protocol=SASL_PLAINTEXT、sasl.enabled.mechanisms=PLAIN,并通过kafka_server_jaas.conf文件设置用户名密码;生产环境建议启用SSL/TLS加密(listeners=SASL_SSL://your_server_ip:9092),保护数据传输安全。firewall-cmd命令添加规则:sudo firewall-cmd --zone=public --add-port=9092/tcp --permanent、sudo firewall-cmd --zone=public --add-port=2181/tcp --permanent,然后执行sudo firewall-cmd --reload使规则生效。6. 监控与维护
kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec)。log.retention.ms设置日志保留时间,如168h表示保留7天);使用log.cleanup.policy=delete(删除旧日志)或compact(压缩日志,适用于变更日志场景)策略,避免磁盘空间耗尽。/etc/systemd/system/kafka.service),配置Kafka和Zookeeper开机自动启动,确保系统重启后服务自动恢复。