首先要确保系统已经安装 Java 环境,因为 Kafka 是基于 Java 开发的。你可以通过以下命令来检查 Java 版本:
java -version
Ubuntu如果系统中没有安装 Java,那么可以使用下面的命令安装 OpenJDK 11:
sudo apt update
sudo apt install openjdk-11-jdk
Centos系统
sudo yum install java-11-openjdk-devel # 适用于CentOS 7
# 或者
sudo dnf install java-11-openjdk-devel # 适用于CentOS 8+ 或 Fedora
下载并解压 Kafka
从 Apache Kafka 的官方网站下载最新版本,也能使用 wget 命令进行下载:
wget https://downloads.apache.org/kafka/3.5.1/kafka_2.13-3.5.1.tgz
下载完成后,执行以下命令解压文件:
tar -xzf kafka_2.13-3.5.1.tgz
cd kafka_2.13-3.5.1
配置 Kafka
Kafka 依赖 ZooKeeper 来管理集群状态,默认的配置文件就可以满足基本需求,一般无需修改。不过,建议你设置一下数据存储目录。你可以编辑config/server.properties
文件:
nano config/server.properties
找到并修改以下配置项:
log.dirs=/tmp/kafka-logs
启动服务
启动 ZooKeeper
在一个终端中运行下面的命令启动 ZooKeeper:
bin/zookeeper-server-start.sh config/zookeeper.properties
启动 Kafka Broker
在另一个终端中运行以下命令启动 Kafka:
bin/kafka-server-start.sh config/server.properties
为了方便管理 Kafka 服务,你可以将其配置为 systemd 服务。
ZooKeeper 服务配置
创建/etc/systemd/system/zookeeper.service
文件:
sudo nano /etc/systemd/system/zookeeper.service
添加以下内容:(注意修改ExecStart和ExexStop路径)
[Unit]
Description=Apache ZooKeeper server
Documentation=http://zookeeper.apache.org
Requires=network.target remote-fs.target
After=network.target remote-fs.target
[Service]
Type=simple
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 服务配置
创建/etc/systemd/system/kafka.service
文件:
sudo nano /etc/systemd/system/kafka.service
添加以下内容:(注意修改ExecStart和ExexStop路径)
[Unit]
Description=Apache Kafka Server
Documentation=http://kafka.apache.org/documentation.html
Requires=zookeeper.service
After=zookeeper.service
[Service]
Type=simple
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 kafka
sudo systemctl enable zookeeper kafka
验证安装
你可以使用以下命令检查服务状态:
sudo systemctl status zookeeper
sudo systemctl status kafka