温馨提示×

Ubuntu怎么安装Kafka

小樊
62
2026-07-07 11:51:10
栏目: 智能运维

在 Ubuntu 上安装 Kafka 主要有两种方式:使用 apt 包管理器(官方推荐,最简单)手动下载二进制包(最灵活,适合生产环境)

以下是两种方法的详细步骤:


方法一:使用 apt 安装(最简单,适合初学者)

从 Ubuntu 22.04 (Jammy) 开始,Kafka 已经被收录到官方软件源中。这是最省心的方法,因为依赖(如 Java)会自动处理。

1. 更新软件包列表

sudo apt update

2. 安装 Kafka

sudo apt install kafka

3. 安装 Java (如果未自动安装) Kafka 依赖 Java 运行环境。如果上面的命令没有自动安装 Java,你需要手动安装:

sudo apt install openjdk-11-jre-headless
# 或者更新版本
# sudo apt install openjdk-17-jre-headless

4. 启动服务 安装完成后,Kafka 和 Zookeeper(旧版本依赖)会作为 systemd 服务存在。

# 启动 Zookeeper (如果需要)
sudo systemctl start zookeeper

# 启动 Kafka
sudo systemctl start kafka

# 设置开机自启
sudo systemctl enable kafka

5. 验证状态

sudo systemctl status kafka

方法二:手动下载二进制包(推荐用于生产环境/特定版本)

这种方式可以让你选择特定的 Kafka 版本,并且更贴近官方文档的配置方式。

前提条件:安装 Java

Kafka 需要 Java 8 或更高版本。

sudo apt update
sudo apt install openjdk-11-jdk -y

验证安装:

java -version

步骤 1:下载 Kafka

访问 Apache Kafka 官网 获取最新版本的下载链接。

目前最新稳定版通常是 3.x 系列。复制 Binary 下载链接(注意不要 Scala 源码版)。

# 进入临时目录
cd /tmp

# 下载 (请替换为最新的链接,以下为示例)
wget https://downloads.apache.org/kafka/3.6.0/kafka_2.13-3.6.0.tgz

# 解压
tar -xzf kafka_2.13-3.6.0.tgz

# 移动到 /opt 目录 (可选,为了整洁)
sudo mkdir -p /opt/kafka
sudo mv kafka_2.13-3.6.0/* /opt/kafka/

步骤 2:配置环境变量(可选但推荐)

为了方便启动,可以将 Kafka 的 bin 目录加入 PATH。

编辑 ~/.bashrc/etc/profile

export KAFKA_HOME=/opt/kafka
export PATH=$PATH:$KAFKA_HOME/bin

使配置生效:

source ~/.bashrc

步骤 3:启动 Kafka 服务

Kafka 2.8+ 版本支持不依赖 Zookeeper 运行(KRaft 模式),但为了通用性,这里演示传统的 Zookeeper + Kafka 模式。

1. 启动 Zookeeper 打开第一个终端窗口:

cd /opt/kafka
# 使用自带的配置文件启动 Zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties

2. 启动 Kafka Broker 打开第二个终端窗口:

cd /opt/kafka
# 启动 Kafka Server
bin/kafka-server-start.sh config/server.properties

如果要在后台运行(守护进程),加上 -daemon 参数:

bin/kafka-server-start.sh -daemon config/server.properties

测试 Kafka 是否安装成功

无论用哪种方法安装,只要服务起来了,都可以用以下命令测试。

1. 创建 Topic

# 如果使用方法二,需要在 /opt/kafka 目录下执行
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. 发送消息 (生产者)

bin/kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092

输入几行文字,按 Ctrl+C 退出。

4. 接收消息 (消费者)

bin/kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server localhost:9092

如果能看到刚才发送的消息,说明安装成功!


常见问题排查

  1. Java 未找到:确保 java -version 有输出。如果没有,请重新安装 openjdk
  2. 端口冲突:Kafka 默认使用 9092 端口,Zookeeper 使用 2181。确保这些端口未被占用。
  3. 内存不足:如果你是在虚拟机或低配服务器上安装,Kafka 默认启动内存可能较大。可以编辑 bin/kafka-server-start.sh,修改 KAFKA_HEAP_OPTS
    export KAFKA_HEAP_OPTS="-Xmx256M -Xms128M"
    

如何停止 Kafka (针对方法二)

# 停止 Kafka
bin/kafka-server-stop.sh

# 停止 Zookeeper
bin/zookeeper-server-stop.sh

0