在Ubuntu上稳定运行Kafka需从环境准备、配置优化、服务管理及监控维护等方面入手,具体步骤如下:
安装基础环境
sudo apt update
sudo apt install openjdk-11-jdk
验证:java -version。sudo useradd -m kafka
sudo passwd kafka
sudo su - kafka
```。
下载与配置Kafka
wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz
tar -xzf kafka_2.13-3.6.1.tgz
mv kafka_2.13-3.6.1 ~/kafka
```。
echo "export KAFKA_HOME=~/kafka" >> ~/.bashrc
echo "export PATH=$KAFKA_HOME/bin:$PATH" >> ~/.bashrc
source ~/.bashrc
```。
配置ZooKeeper与Kafka
config/zookeeper.properties,设置数据目录:dataDir=/tmp/zookeeper
clientPort=2181
启动:bin/zookeeper-server-start.sh config/zookeeper.properties &。config/server.properties:broker.id=0
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://服务器IP:9092
log.dirs=/var/lib/kafka/logs # 持久化存储路径
zookeeper.connect=localhost:2181
delete.topic.enable=true
启动:bin/kafka-server-start.sh -daemon config/server.properties。服务化与稳定性优化
/etc/systemd/system/kafka.service:[Unit]
Description=Apache Kafka
After=network.target zookeeper.service
[Service]
User=kafka
Group=kafka
ExecStart=/home/kafka/kafka/bin/kafka-server-start.sh /home/kafka/kafka/config/server.properties
ExecStop=/home/kafka/kafka/bin/kafka-server-stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
启用并启动:sudo systemctl daemon-reload
sudo systemctl enable --now kafka
```。
sudo ulimit -n 65536
优化内核参数(如vm.swappiness、net.core.somaxconn)。功能验证与监控
# 创建Topic
bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --topic test --partitions 3 --replication-factor 1
# 生产者发送消息
bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test
# 消费者接收消息
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
```。
kafka-consumer-groups.sh)监控消费情况。log4j.properties中设置log.retention.hours)。安全与性能调优(可选)
-Xms4G -Xmx4G -XX:+UseG1GC。注意事项:
/tmp目录存储数据,需指定持久化路径(如/var/lib/kafka/logs)。broker.id唯一,且ZooKeeper集群配置正确。参考来源: