Kafka在Ubuntu上的快速部署指南(单机版)
Kafka基于Java开发,需先安装OpenJDK 11(或更高版本):
sudo apt update && sudo apt install -y openjdk-11-jdk
# 验证安装
java -version
若输出类似openjdk version "11.0.xx"则表示安装成功。
访问Apache Kafka官网下载最新稳定版本(如3.7.0),解压至指定目录:
wget https://downloads.apache.org/kafka/3.7.0/kafka_2.13-3.7.0.tgz
tar -xzf kafka_2.13-3.7.0.tgz
mv kafka_2.13-3.7.0 ~/kafka # 移动至用户目录(避免权限问题)
cd ~/kafka
Kafka自带Zookeeper实例,可直接启动:
# 创建Zookeeper数据目录
mkdir -p ~/kafka/data/zookeeper
# 启动Zookeeper(前台模式,便于查看日志)
bin/zookeeper-server-start.sh config/zookeeper.properties
若终端显示INFO binding to port 0.0.0.0/0.0.0.0:2181,则表示Zookeeper启动成功(默认端口2181)。
在新终端窗口中启动Kafka(避免Zookeeper进程被终止):
# 创建Kafka数据目录
mkdir -p ~/kafka/data/kafka
# 启动Kafka(前台模式)
bin/kafka-server-start.sh config/server.properties
若终端显示INFO [KafkaServer id=0] started,则表示Kafka启动成功(默认端口9092)。
创建名为test的Topic(1个分区、1个副本):
bin/kafka-topics.sh --create \
--topic test \
--bootstrap-server localhost:9092 \
--partitions 1 \
--replication-factor 1
启动控制台生产者,向test Topic发送消息:
bin/kafka-console-producer.sh --topic test \
--bootstrap-server localhost:9092
输入任意文本(如Hello Kafka),按Enter键发送。
启动控制台消费者,从test Topic接收消息:
bin/kafka-console-consumer.sh --topic test \
--bootstrap-server localhost:9092 \
--from-beginning
若能看到之前发送的Hello Kafka,则说明Kafka部署成功。
~/kafka/data/zookeeper和~/kafka/data/kafka目录有读写权限(可通过chmod -R 755设置)。&(如bin/zookeeper-server-start.sh config/zookeeper.properties &)。2181(Zookeeper)和9092(Kafka)端口(sudo ufw allow 2181、sudo ufw allow 9092)。