在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集群配置正确。参考来源: