在Debian系统上安装和配置Apache Kafka涉及多个步骤,包括安装必要的软件、配置网络、启动Kafka服务器和Zookeeper,以及创建和测试Topic。以下是详细的步骤指南:
首先,确保你的Debian系统上已经安装了Java和Zookeeper,因为Kafka依赖于它们。
# 安装Java
sudo apt update
sudo apt install openjdk-11-jdk -y
# 验证Java安装
java -version
# 安装Zookeeper
sudo apt install zookeeperd -y
从Apache Kafka官方网站下载最新版本的Kafka,然后解压到指定目录。
# 下载Kafka
wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz
# 解压Kafka
tar -xzf kafka_2.12-3.5.2.tgz
sudo mv kafka_2.12-3.5.2 /opt/kafka
为了方便使用Kafka命令,需要将其添加到系统的环境变量中。
# 编辑 /etc/profile 文件
echo 'export KAFKA_HOME=/opt/kafka' >> /etc/profile
echo 'export PATH=$PATH:$KAFKA_HOME/bin' >> /etc/profile
# 使配置生效
source /etc/profile
进入Kafka的bin目录,启动Zookeeper服务。
cd /opt/kafka/bin
./zookeeper-server-start.sh config/zookeeper.properties
同样在Kafka的bin目录下,启动Kafka Broker服务。需要编辑config/server.properties文件来配置Broker的属性,例如监听地址、日志目录等。
# 编辑 server.properties 文件
sudo nano /opt/kafka/config/server.properties
# 修改以下配置项
listeners PLAINTEXT://:9092
log.dirs /var/log/kafka
zookeeper.connect localhost:2181
创建一个systemd服务单元文件,以便在服务器上将Kafka作为服务运行。
# 创建Kafka服务单元文件
sudo nano /etc/systemd/system/kafka.service
# 添加以下内容
[Unit]
Description=Apache Kafka Server
After=network.target zookeeper.target
[Service]
Type=simple
User=kafka
Group=kafka
WorkingDirectory=/opt/kafka
ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
Restart=always
[Install]
WantedBy=multi-user.target
# 重新加载systemd配置并启动Kafka服务
sudo systemctl daemon-reload
sudo systemctl start kafka
sudo systemctl enable kafka
使用以下命令检查Kafka和Zookeeper服务是否分别在端口9092和2181上侦听。
# 检查Kafka服务状态
sudo systemctl status kafka
# 检查Zookeeper服务状态
sudo systemctl status zookeeper
# 使用 netstat 或 ss 命令检查端口是否在监听
netstat -tuln | grep 9092
netstat -tuln | grep 2181
根据你的网络需求,可能需要进行额外的网络配置。例如,设置静态IP地址或配置DNS。可以参考Debian的网络配置文档或使用netplan(如果适用)。
# 使用 netplan 配置网络(适用于Debian 12及以上版本)
sudo nano /etc/netplan/01-netcfg.yaml
# 添加或修改以下内容
network:
version: 2
renderer: networkd
ethernets:
ens4:
dhcp4: no
addresses: [192.168.200.251/24]
gateway4: 192.168.200.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
# 应用配置
sudo netplan apply
通过以上步骤,你应该能够在Debian系统上成功安装并运行Apache Kafka。