Kafka与Linux系统集成实操指南
一 环境准备与安装
sudo apt update && sudo apt install openjdk-8-jdk;在 CentOS/RHEL 执行:sudo yum install java-1.8.0-openjdk。完成后用 java -version 验证。wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz && tar -zxvf kafka_2.12-3.5.2.tgz。/var/lib/kafka-logs。sudo firewall-cmd --permanent --add-port={2181,9092}/tcp && sudo firewall-cmd --reload。二 部署模式与核心配置
config/server.properties,关键项包括:
broker.id:集群内唯一(每台 Broker 不同)。listeners=PLAINTEXT://<本机IP或FQDN>:9092:对外服务地址。log.dirs=/var/lib/kafka-logs:消息日志目录。zookeeper.connect=zk1:2181,zk2:2181,zk3:2181:ZooKeeper 集群地址。process.roles、controller.quorum.voters、listeners 等),并使用 kafka-storage.sh 初始化存储后再启动 Broker。./bin/zookeeper-server-start.sh config/zookeeper.properties./bin/kafka-server-start.sh config/server.properties三 集群部署与验证
./bin/kafka-topics.sh --create --topic test --bootstrap-server <任一BrokerIP>:9092 --partitions 3 --replication-factor 3./bin/kafka-topics.sh --describe --topic test --bootstrap-server <任一BrokerIP>:9092./bin/kafka-console-producer.sh --bootstrap-server <任一BrokerIP>:9092 --topic test./bin/kafka-console-consumer.sh --bootstrap-server <任一BrokerIP>:9092 --topic test --from-beginning四 系统层面集成与运维要点
log.dirs 挂载 高性能本地磁盘(如 NVMe),避免与系统盘争用;合理设置 flush 策略 与 日志保留策略(log.retention.hours / log.retention.bytes) 以平衡可靠性与容量。listeners 绑定到 内网/公网 IP,并限制来源网段;必要时配置 SSL/TLS 加密 与 SASL 认证。