ubuntu

Kafka在Ubuntu上的安装步骤是什么

小樊
49
2025-09-19 21:08:49
栏目: 智能运维

一、环境准备

  1. 系统要求:推荐使用Ubuntu 22.04/24.04 LTS(长期支持版本,稳定性高,兼容性好);需满足最低配置:2核CPU、4GB内存、20GB存储(生产环境需根据数据量扩容)。
  2. 安装Java环境:Kafka基于Java开发,需安装OpenJDK 11及以上版本。执行以下命令安装并验证:
    sudo apt update && sudo apt install -y openjdk-11-jdk
    java -version  # 验证安装(需显示11+版本)
    

二、下载与解压Kafka

  1. 下载Kafka二进制包:访问Apache Kafka官网(downloads.apache.org/kafka)选择最新稳定版本(如3.6.1),或使用wget直接下载:
    wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz
    
  2. 解压并移动到安装目录:解压下载的压缩包,并将Kafka移动到/opt/kafka(推荐,避免权限问题):
    tar -xzf kafka_*.tgz
    sudo mv kafka_2.13-3.6.1 /opt/kafka
    

三、配置Kafka

  1. 编辑核心配置文件:进入Kafka配置目录,修改server.properties(关键配置项说明):
    sudo vim /opt/kafka/config/server.properties
    
    • broker.id:集群中Broker的唯一标识(单机环境设为0);
    • listeners:Broker监听的地址和端口(默认PLAINTEXT://:9092);
    • log.dirs:Kafka日志文件的存储路径(需提前创建并赋予权限,如/var/lib/kafka-logs);
    • zookeeper.connect:ZooKeeper集群地址(单机环境用localhost:2181,集群用逗号分隔的多个地址)。

四、启动ZooKeeper(传统模式必需) Kafka 2.8及以上版本支持KRaft模式(无需ZooKeeper),但传统模式仍需ZooKeeper管理元数据。若使用传统模式:

  1. 安装ZooKeeper:Ubuntu自带zookeeperd,可直接启动:
    sudo apt install -y zookeeperd
    sudo systemctl start zookeeper  # 启动服务
    sudo systemctl status zookeeper  # 验证状态(需显示"active (running)")
    
  2. 配置ZooKeeper:编辑/etc/zookeeper/conf/zoo.cfg,设置数据目录和端口:
    dataDir=/var/lib/zookeeper
    clientPort=2181
    

五、启动Kafka服务

  1. 启动Kafka:进入Kafka的bin目录,使用-daemon参数在后台启动:
    /opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
    
  2. 集成Systemd(可选,推荐):创建Systemd服务文件,实现开机自启和进程管理:
    sudo vim /etc/systemd/system/kafka.service
    
    内容如下:
    [Unit]
    Description=Apache Kafka
    After=zookeeper.service  # 依赖ZooKeeper(传统模式)
    
    [Service]
    User=kafka
    ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
    ExecStop=/opt/kafka/bin/kafka-server-stop.sh
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    
    启用并启动服务:
    sudo systemctl enable kafka  # 开机自启
    sudo systemctl start kafka   # 立即启动
    

六、验证Kafka功能

  1. 创建测试Topic:使用kafka-topics.sh创建名为test的Topic(分区数1,副本因子1):
    /opt/kafka/bin/kafka-topics.sh --create --topic test --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
    
  2. 生产与消费消息
    • 生产消息:启动控制台生产者,向test Topic发送消息:
      echo "Hello Kafka" | /opt/kafka/bin/kafka-console-producer.sh --topic test --bootstrap-server localhost:9092
      
    • 消费消息:启动控制台消费者,从test Topic接收消息(--from-beginning表示从最早消息开始):
      /opt/kafka/bin/kafka-console-consumer.sh --topic test --from-beginning --bootstrap-server localhost:9092
      
    若消费者终端显示“Hello Kafka”,则说明Kafka安装成功。

七、常见问题解决

0
看了该问题的人还看了