在 Debian 上安装 Apache Kafka 的步骤
一 准备环境
sudo apt updatesudo apt install openjdk-11-jdk 或 sudo apt install default-jdkjava -versionsudo useradd -m kafkasudo passwd kafka二 安装与解压 Kafka
wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgztar -xzf kafka_2.12-3.5.2.tgzsudo mv kafka_2.12-3.5.2 /opt/kafka/etc/profile 或 ~/.bashrc:
export KAFKA_HOME=/opt/kafkaexport PATH=$PATH:$KAFKA_HOME/binsource /etc/profile 或 source ~/.bashrc三 配置 Kafka
sudo nano /opt/kafka/config/server.propertiesbroker.id=0(每个 Broker 唯一)listeners=PLAINTEXT://:9092log.dirs=/var/log/kafka(确保目录存在并可写,必要时先 sudo mkdir -p /var/log/kafka && sudo chown kafka:kafka /var/log/kafka)zookeeper.connect=localhost:2181process.roles、controller.quorum.voters 等参数四 启动与验证
/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.propertiessudo apt-get install zookeeperdsudo systemctl start zookeeper.service/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 --partitions 1 --replication-factor 1/opt/kafka/bin/kafka-topics.sh --describe --topic test --bootstrap-server localhost:9092/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:9092sudo netstat -ntlp | grep 9092sudo systemctl status kafka五 设置开机自启与注意事项
sudo nano /etc/systemd/system/zookeeper.service[Unit]
Description=Zookeeper Server
After=network.target
[Service]
ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties
ExecStop=/opt/kafka/bin/zookeeper-server-stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo nano /etc/systemd/system/kafka.service[Unit]
Description=Kafka Server
After=zookeeper.service network.target
[Service]
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
ExecStop=/opt/kafka/bin/kafka-server-stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reloadsudo systemctl enable --now zookeepersudo systemctl enable --now kafkasudo ufw allow 9092,2181/tcp 或按你的防火墙工具配置broker.id 唯一,副本因子 ≥ 3)log.dirs 指向具备充足空间的专用目录,并设置正确的属主(如 kafka:kafka)