在Ubuntu上安装Apache Kafka的步骤如下:
首先,确保你的系统包是最新的:
sudo apt update
sudo apt upgrade -y
Kafka需要Java运行时环境(JRE)或Java开发工具包(JDK)。你可以安装OpenJDK:
sudo apt install openjdk-11-jdk -y
验证Java安装:
java -version
从Apache Kafka官方网站下载最新版本的Kafka。你可以使用wget命令来下载:
wget https://downloads.apache.org/kafka/3.4.0/kafka_2.13-3.4.0.tgz
然后解压文件:
tar -xzf kafka_2.13-3.4.0.tgz
cd kafka_2.13-3.4.0
Kafka的配置文件位于config目录下。主要的配置文件包括server.properties和zookeeper.properties。
编辑config/zookeeper.properties文件:
dataDir=/var/lib/zookeeper
clientPort=2181
maxClientCnxns=0
编辑config/server.properties文件:
broker.id=0
listeners=PLAINTEXT://:9092
log.dirs=/var/log/kafka
zookeeper.connect=localhost:2181
num.partitions=1
default.replication.factor=1
min.insync.replicas=1
首先启动Zookeeper:
bin/zookeeper-server-start.sh config/zookeeper.properties
然后在另一个终端启动Kafka服务器:
bin/kafka-server-start.sh config/server.properties
创建一个名为test-topic的主题:
bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1
列出所有主题以验证Kafka是否正常工作:
bin/kafka-topics.sh --list --bootstrap-server localhost:9092
发送一条消息到主题并消费它:
# 发送消息
bin/kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092
# 消费消息
bin/kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server localhost:9092
停止Kafka服务器:
bin/kafka-server-stop.sh
停止Zookeeper:
bin/zookeeper-server-stop.sh
为了方便管理Kafka服务,你可以创建一个systemd服务文件。
创建服务文件:
sudo nano /etc/systemd/system/kafka.service
添加以下内容:
[Unit]
Description=Apache Kafka
After=zookeeper.service
Requires=zookeeper.service
[Service]
Type=simple
User=kafka
ExecStart=/path/to/kafka_2.13-3.4.0/bin/kafka-server-start.sh /path/to/kafka_2.13-3.4.0/config/server.properties
ExecStop=/path/to/kafka_2.13-3.4.0/bin/kafka-server-stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
保存并退出编辑器,然后启用并启动服务:
sudo systemctl enable kafka
sudo systemctl start kafka
通过以上步骤,你应该能够在Ubuntu上成功安装并运行Apache Kafka。