在 Debian 上“跑 Kafka 脚本”通常指两件事之一:
kafka-server-start.sh、kafka-console-producer.sh 等)下面分别说明。
Kafka 依赖 Java:
sudo apt update
sudo apt install -y openjdk-17-jdk
java -version
以 Kafka 3.7 为例:
wget https://downloads.apache.org/kafka/3.7.0/kafka_2.13-3.7.0.tgz
tar -xzf kafka_2.13-3.7.0.tgz
cd kafka_2.13-3.7.0
bin/zookeeper-server-start.sh config/zookeeper.properties
另开终端:
bin/kafka-server-start.sh config/server.properties
KAFKA_CLUSTER_ID=$(bin/kafka-storage.sh random-uuid)
bin/kafka-storage.sh format -t $KAFKA_CLUSTER_ID -c config/kraft/server.properties
bin/kafka-server-start.sh config/kraft/server.properties
bin/kafka-topics.sh --create --topic test --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
bin/kafka-console-producer.sh --topic test --bootstrap-server localhost:9092
bin/kafka-console-consumer.sh --topic test --bootstrap-server localhost:9092 --from-beginning
#!/bin/bash
bin/kafka-console-producer.sh --topic test --bootstrap-server localhost:9092
赋予执行权限:
chmod +x kafka_test.sh
./kafka_test.sh
sudo apt install -y python3-pip
pip3 install kafka-python
producer.py:
from kafka import KafkaProducer
producer = KafkaProducer(bootstrap_servers='localhost:9092')
producer.send('test', b'hello debian')
producer.flush()
运行:
python3 producer.py
可创建 systemd 服务:
/etc/systemd/system/kafka.service
[Unit]
Description=Apache Kafka
After=network.target
[Service]
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/kraft/server.properties
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start kafka
sudo systemctl enable kafka
如果你能具体说明:
我可以给你更精确的示例。