Kafka 在 CentOS 上的安装教程
一、准备工作
1. 系统需求
操作系统:Linux (建议 CentOS 7+)
安装依赖:
JDK 8+ (需要充分环境)
2. 检查 Java 环境
java -version
如果未安装 JDK,请根据系统安装:
Ubuntu/Debian:
sudo apt update
sudo apt install openjdk-11-jdk -y
CentOS/RHEL:
sudo yum install java-11-openjdk -y
二、下载和解压 Kafka
1. 下载 Kafka 压缩包
在官方网站下载:Kafka Downloads
使用 wget 下载(以 Kafka 3.6.0 为例):
wget https://dlcdn.apache.org/kafka/3.6.0/kafka_2.13-3.6.0.tgz
2. 解压文件
tar -xzf kafka_2.13-3.6.0.tgz
cd kafka_2.13-3.6.0
三、启动 Kafka 环境
Kafka 依赖 Zookeeper,安装包中已经包含。
1. 启动 Zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties
默认 Zookeeper 运行在端口 2181。
2. 启动 Kafka Broker
另开一个窗口,执行:
bin/kafka-server-start.sh config/server.properties
默认 Kafka 运行在端口 9092。
四、测试 Kafka
1. 创建一个 Topic
bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
2. 列出所有 Topic
bin/kafka-topics.sh --list --bootstrap-server localhost:9092
3. 发送消息到 Topic
bin/kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092
```然后输入消息内容,按 Enter 发送。
### **4. 从 Topic 消费消息**
在另一个窗口运行:
```bash
bin/kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server localhost:9092
```此时,你会看到生产者发送的消息。
## **五、配置 Kafka 为背景启动**
为了让 Kafka 和 Zookeeper 背景运行,可以使用 `nohup` 或 `systemd`。
### **1. 使用 `nohup` 启动:**
- 启动 Zookeeper:
```bash
nohup bin/zookeeper-server-start.sh config/zookeeper.properties > zookeeper.log 2>&1 &
启动 Kafka:
nohup bin/kafka-server-start.sh config/server.properties > kafka.log 2>&1 &
2. 使用 systemd 启动:
创建 Zookeeper 的 systemd 服务文件:
sudo nano /etc/systemd/system/zookeeper.service
内容如下:
[Unit]
Description=Apache Zookeeper Server
After=network.target
[Service]
ExecStart=/path/to/kafka/bin/zookeeper-server-start.sh /path/to/kafka/config/zookeeper.properties
ExecStop=/path/to/kafka/bin/zookeeper-server-stop.sh
Restart=on-abnormal
[Install]
WantedBy=multi-user.target
创建 Kafka 的 systemd 服务文件:
sudo nano /etc/systemd/system/kafka.service
内容如下:
[Unit]
Description=Apache Kafka Server
After=zookeeper.service
[Service]
ExecStart=/path/to/kafka/bin/kafka-server-start.sh /path/to/kafka/config/server.properties
ExecStop=/path/to/kafka/bin/kafka-server-stop.sh
Restart=on-abnormal
[Install]
WantedBy=multi-user.target
启动服务并设置开机自启:
sudo systemctl daemon-reload
sudo systemctl start zookeeper
sudo systemctl enable zookeeper
sudo systemctl start kafka
sudo systemctl enable kafka
六、关闭 Kafka 和 Zookeeper
1. 单独关闭:
停止 Zookeeper:
bin/zookeeper-server-stop.sh
停止 Kafka:
bin/kafka-server-stop.sh
2. 关闭所有背景服务:
如果用 systemd,可直接使用:
sudo systemctl stop kafka
sudo systemctl stop zookeeper
七、验证安装
确保 Kafka 和 Zookeeper 端口正常监听:
netstat -tuln | grep 9092 # Kafka 默认端口
netstat -tuln | grep 2181 # Zookeeper 默认端口
致此,Kafka 安装与基础配置完成!