以下是在CentOS上配置Kafka的核心步骤:
安装Java环境
sudo yum install java-1.8.0-openjdk-devel
java -version # 验证安装
下载并解压Kafka
wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz
tar -xzf kafka_2.12-3.5.2.tgz
mv kafka_2.12-3.5.2 /opt/kafka # 移动到指定目录
配置环境变量(可选)
编辑/etc/profile,添加:
export KAFKA_HOME=/opt/kafka
export PATH=$PATH:$KAFKA_HOME/bin
生效配置:source /etc/profile
配置Kafka核心参数
编辑/opt/kafka/config/server.properties:
broker.id:唯一标识(集群中需唯一)listeners:监听地址(如PLAINTEXT://0.0.0.0:9092)advertised.listeners:对外可访问地址(需替换为实际IP)log.dirs:日志存储路径(如/tmp/kafka-logs)zookeeper.connect:Zookeeper连接地址(如localhost:2181,Kraft模式可省略)启动Zookeeper(非Kraft模式必需)
/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties
启动Kafka服务
/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
验证配置
/opt/kafka/bin/kafka-topics.sh --create --topic test --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1
# 生产者
/opt/kafka/bin/kafka-console-producer.sh --topic test --bootstrap-server localhost:9092
# 消费者
/opt/kafka/bin/kafka-console-consumer.sh --topic test --from-beginning --bootstrap-server localhost:9092
配置防火墙(可选)
开放Kafka端口(默认9092):
sudo firewall-cmd --zone=public --add-port=9092/tcp --permanent
sudo firewall-cmd --reload
设置开机自启(可选)
创建/etc/systemd/system/kafka.service,内容参考,然后执行:
systemctl daemon-reload
systemctl start kafka
systemctl enable kafka
说明:
broker.id唯一性、log.dirs多路径等)。/opt/kafka/config/zookeeper.properties调整Zookeeper数据目录等参数。