在 Ubuntu 上配置 Apache Kafka 的完整步骤
一 环境准备
sudo apt update && sudo apt install openjdk-11-jdk -yjava -versionsudo useradd -m -s /bin/bash kafka && sudo passwd kafkasudo usermod -aG sudo kafka(完成后可按需移除 sudo 权限并锁定密码)二 安装与目录规划
wget https://downloads.apache.org/kafka/3.9.1/kafka_2.13-3.9.1.tgztar -xzf kafka_2.13-3.9.1.tgzsudo mv kafka_2.13-3.9.1 /usr/local/kafkaecho 'export KAFKA_HOME=/usr/local/kafka' >> ~/.bashrcecho 'export PATH=$PATH:$KAFKA_HOME/bin' >> ~/.bashrcsource ~/.bashrc/var/lib/kafka/data(对应 server.properties 的 log.dirs)/var/log/kafka(便于 logrotate 管理)三 配置与启动
/usr/local/kafka/bin/kafka-storage.sh random-uuid(保存输出的 cluster.id)/usr/local/kafka/bin/kafka-storage.sh format -t <cluster.id> -c /usr/local/kafka/config/kraft/server.properties/usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/kraft/server.properties/usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.propertiesbroker.id=0(单机固定为 0;集群需唯一)listeners=PLAINTEXT://0.0.0.0:9092advertised.listeners=PLAINTEXT://<服务器公网或内网IP>:9092log.dirs=/var/lib/kafka/datazookeeper.connect=localhost:2181netstat -tulnp | grep 9092 或 ss -ltnp | grep 9092tail -f /usr/local/kafka/logs/server.log四 基本功能测试
/usr/local/kafka/bin/kafka-topics.sh --create --topic test --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1/usr/local/kafka/bin/kafka-topics.sh --list --bootstrap-server localhost:9092/usr/local/kafka/bin/kafka-console-producer.sh --topic test --bootstrap-server localhost:9092/usr/local/kafka/bin/kafka-console-consumer.sh --topic test --bootstrap-server localhost:9092 --from-beginning五 常见问题与优化
listeners 设为 PLAINTEXT://0.0.0.0:9092,advertised.listeners 设为服务器的 实际 IP(不要用 127.0.0.1);同时检查云服务器安全组/防火墙放行 9092 端口。java -version 正常;必要时设置 JAVA_HOME 并加入 PATH。log.dirs 目录,重新执行 kafka-storage.sh format 后再启动。export KAFKA_HEAP_OPTS="-Xmx2G -Xms2G"(按机器内存调整)num.partitions(分区数)、compression.type=snappy/lz4、log.retention.hours、num.io.threads 等可按业务与硬件调优。