在 Debian 系统上部署 Apache Kafka,通常按以下步骤进行。以下以 Kafka 3.x + Debian 11/12 为例,适用于单机或基础集群部署。
sudo apt update
sudo apt upgrade -y
Kafka 需要 Java 8 或以上版本,推荐 Java 17。
sudo apt install -y openjdk-17-jdk
验证:
java -version
sudo useradd -r -m -s /bin/bash kafka
后续操作可切换到该用户:
sudo su - kafka
前往官网获取最新版本(示例为 3.6.1):
cd /opt
sudo wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz
sudo tar -xzf kafka_2.13-3.6.1.tgz
sudo mv kafka_2.13-3.6.1 /opt/kafka
sudo chown -R kafka:kafka /opt/kafka
编辑配置文件:
vim /opt/kafka/config/zookeeper.properties
常见配置:
dataDir=/opt/kafka/zookeeper-data
clientPort=2181
编辑:
vim /opt/kafka/config/server.properties
关键配置项:
broker.id=0
listeners=PLAINTEXT://localhost:9092
log.dirs=/opt/kafka/kafka-logs
zookeeper.connect=localhost:2181
若是生产环境,注意:
listeners 改为服务器 IPlog.dirs 使用独立磁盘num.partitions、retention 等/opt/kafka/bin/zookeeper-server-start.sh -daemon /opt/kafka/config/zookeeper.properties
/opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
jps
应看到:
QuorumPeerMain
Kafka
/opt/kafka/bin/kafka-topics.sh \
--create \
--topic test-topic \
--bootstrap-server localhost:9092 \
--partitions 1 \
--replication-factor 1
/opt/kafka/bin/kafka-topics.sh --list --bootstrap-server localhost:9092
/opt/kafka/bin/kafka-console-producer.sh \
--topic test-topic \
--bootstrap-server localhost:9092
/opt/kafka/bin/kafka-console-consumer.sh \
--topic test-topic \
--from-beginning \
--bootstrap-server localhost:9092
sudo vim /etc/systemd/system/zookeeper.service
[Unit]
Description=Zookeeper
After=network.target
[Service]
Type=simple
User=kafka
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 vim /etc/systemd/system/kafka.service
[Unit]
Description=Apache Kafka
After=zookeeper.service
[Service]
Type=simple
User=kafka
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-reload
sudo systemctl enable zookeeper kafka
sudo systemctl start zookeeper kafka
log.dirs 权限/opt/kafka/logs/server.log
ss -lntp | grep 9092
如果你需要:
可以告诉我你的具体使用场景。