下面给你一份在 Debian(如 Debian 11/12)上安装并配置 Apache Kafka的实用步骤,包含 Zookeeper 模式(传统),以及常见配置说明。
sudo apt update
sudo apt upgrade -y
Kafka 3.x 需要 Java 8 或以上:
sudo apt install -y default-jdk
java -version
sudo useradd -m -s /bin/bash kafka
sudo su - kafka
以 Kafka 3.6.1 为例(可换版本):
cd ~
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
编辑:
vi ~/kafka/config/zookeeper.properties
常用配置:
dataDir=/home/kafka/zookeeper
clientPort=2181
maxClientCnxns=0
创建数据目录:
mkdir -p ~/zookeeper
vi ~/kafka/config/server.properties
核心配置(单机示例):
broker.id=0
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://<服务器IP>:9092
log.dirs=/home/kafka/kafka-logs
num.partitions=1
default.replication.factor=1
zookeeper.connect=localhost:2181
创建日志目录:
mkdir -p ~/kafka-logs
~/kafka/bin/zookeeper-server-start.sh -daemon ~/kafka/config/zookeeper.properties
~/kafka/bin/kafka-server-start.sh -daemon ~/kafka/config/server.properties
jps
# 应看到 QuorumPeerMain 和 Kafka
~/kafka/bin/kafka-topics.sh \
--create \
--topic test \
--bootstrap-server localhost:9092 \
--partitions 1 \
--replication-factor 1
~/kafka/bin/kafka-console-producer.sh \
--topic test \
--bootstrap-server localhost:9092
~/kafka/bin/kafka-console-consumer.sh \
--topic test \
--from-beginning \
--bootstrap-server localhost:9092
示例 /etc/systemd/system/kafka.service:
[Unit]
Description=Apache Kafka
After=network.target zookeeper.service
[Service]
User=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
如果你想要 新架构(推荐),我也可以给你:
如果你愿意,可以告诉我:
我可以直接给你定制配置。