Kafka在Linux下的配置主要涉及环境变量、核心配置文件及服务管理,以下是关键步骤:
安装Java环境
Kafka依赖Java,需先安装JDK(建议1.8+):
# Ubuntu/Debian
sudo apt update && sudo apt install openjdk-8-jdk
# CentOS/RHEL
sudo yum install java-1.8.0-openjdk
下载并解压Kafka
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
mv kafka_2.12-3.5.2 /usr/local/kafka
配置环境变量
编辑~/.bashrc或/etc/profile,添加:
export KAFKA_HOME=/usr/local/kafka
export PATH=$PATH:$KAFKA_HOME/bin
source ~/.bashrc # 使配置生效
Kafka主配置文件位于$KAFKA_HOME/config/server.properties,关键参数如下:
broker.id=0 # 集群中唯一ID,建议与机器名关联。listeners=PLAINTEXT://0.0.0.0:9092 # 监听所有接口的9092端口。advertised.listeners=PLAINTEXT://your-server-ip:9092 # 对外可访问地址(若有内外网差异)。log.dirs=/var/lib/kafka/logs # 日志目录,可指定多个路径(逗号分隔)。log.retention.hours=168 # 日志保留时间(默认1周,单位:小时)。zookeeper.connect=localhost:2181 # 旧版需配置Zookeeper地址,新版可省略(依赖KRaft模式)。启动/停止Kafka
# 启动
$KAFKA_HOME/bin/kafka-server-start.sh $KAFKA_HOME/config/server.properties &
# 停止
$KAFKA_HOME/bin/kafka-server-stop.sh
配置开机自启动(systemd)
创建服务文件/lib/systemd/system/kafka.service:
[Unit]
Description=Apache Kafka Server
After=network.target
[Service]
Type=forking
User=root
ExecStart=$KAFKA_HOME/bin/kafka-server-start.sh $KAFKA_HOME/config/server.properties
ExecStop=$KAFKA_HOME/bin/kafka-server-stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
启用服务:
sudo systemctl daemon-reload
sudo systemctl enable kafka
sudo systemctl start kafka
检查进程
jps | grep Kafka # 查看Kafka进程是否存在
测试Topic创建
$KAFKA_HOME/bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test
log.dirs目录可写,建议使用chown -R kafka:kafka /var/lib/kafka/logs设置权限。broker.id唯一,且zookeeper.connect指向同一Zookeeper集群。ssl.enabled=true)及SASL认证。以上步骤参考自,可根据实际需求调整参数。