在Debian系统上安装Apache Kafka的步骤如下:
首先,确保你的系统上已经安装了Java运行环境。可以使用以下命令安装OpenJDK 8:
sudo apt update
sudo apt install openjdk-8-jdk
验证Java安装:
java -version
从Apache Kafka官网下载最新版本的Kafka,并解压到服务器上。例如,下载Kafka 3.5.2版本:
wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz
tar -xzf kafka_2.12-3.5.2.tgz
cd kafka_2.12-3.5.2
编辑 /etc/profile
文件,添加以下行以配置全局环境变量:
export KAFKA_HOME=/path/to/kafka_2.12-3.5.2
export PATH=$PATH:$KAFKA_HOME/bin
使环境变量生效:
source /etc/profile
启动Zookeeper:
./bin/zookeeper-server-start.sh config/zookeeper.properties
启动Kafka:
./bin/kafka-server-start.sh config/server.properties
使用以下命令检查Kafka服务是否正在运行:
sudo systemctl status kafka
创建一个测试主题,并创建一个生产者来发送消息:
./bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test-topic
在另一个终端中,使用以下命令创建一个消费者来接收消息:
./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test-topic --from-beginning
为了配置一个高可用的Kafka集群,你需要至少三个Broker节点。每个节点都需要运行一个Kafka实例,并配置相应的 server.properties
文件。确保每个节点的 broker.id
是唯一的。
配置Kafka开机自启:
sudo vim /etc/systemd/system/kafka.service
在 [Service]
部分添加以下内容:
ExecStart=/app/kafka/bin/kafka-server-start.sh -daemon /app/kafka/config/server.properties
ExecStop=/app/kafka/bin/kafka-server-stop.sh
重新加载systemd配置并启动Kafka服务:
sudo systemctl daemon-reload
sudo systemctl start kafka
sudo systemctl enable kafka
验证开机自启:
sudo systemctl is-enabled kafka.service
通过以上步骤,你可以在Debian系统上成功安装和配置Apache Kafka。