linux

Linux下Kafka安装步骤是什么

小樊
45
2025-10-21 10:45:09
栏目: 智能运维

一、环境准备

  1. 操作系统要求:推荐使用Ubuntu 20.04+、CentOS 7+等主流Linux发行版。
  2. Java环境:Kafka依赖JDK 1.8及以上版本(推荐OpenJDK 11)。通过以下命令安装:
    • Ubuntu/Debian:sudo apt update && sudo apt install openjdk-11-jdk -y
    • CentOS/RHEL:sudo yum install java-11-openjdk -y
      安装后验证:java -version(需显示Java版本信息)。
  3. ZooKeeper依赖:Kafka需通过ZooKeeper管理集群元数据(Kafka 3.4+版本支持KRaft模式,可脱离ZooKeeper,但传统部署仍需配置)。

二、下载并解压Kafka

  1. 访问Apache Kafka官网(https://kafka.apache.org/downloads)下载最新稳定版本(如3.6.1),使用wget命令下载:
    wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz2.13为Scala版本,可根据需求调整)。
  2. 解压安装包到指定目录(如/opt/kafka):
    tar -xzf kafka_2.13-3.6.1.tgz && mv kafka_2.13-3.6.1 /opt/kafka

三、配置Kafka

  1. 进入Kafka配置目录:cd /opt/kafka/config
  2. 编辑server.properties(核心配置文件),修改以下关键参数:
    • broker.id=0:Broker唯一标识(集群中需唯一);
    • listeners=PLAINTEXT://:9092:监听端口(客户端通信端口);
    • log.dirs=/data/kafka/logs:日志存储目录(需提前创建并授权:sudo mkdir -p /data/kafka/logs && sudo chown -R kafka:kafka /data/kafka);
    • zookeeper.connect=localhost:2181:ZooKeeper连接地址(若使用KRaft模式,需修改为controller.quorum.voters=0@localhost:9093,并参考KRaft配置)。

四、启动ZooKeeper(传统模式)

  1. 进入Kafka目录下的bin子目录:cd /opt/kafka/bin
  2. 启动ZooKeeper服务(前台运行,测试用):
    ./zookeeper-server-start.sh ../../config/zookeeper.properties
    生产环境中建议使用nohupsystemd后台运行。

五、启动Kafka

  1. 返回Kafka目录下的bin子目录:cd /opt/kafka/bin
  2. 启动Kafka Broker(前台运行):
    ./kafka-server-start.sh ../../config/server.properties
    生产环境中建议添加-daemon参数后台运行:
    ./kafka-server-start.sh -daemon ../../config/server.properties

六、验证Kafka功能

  1. 创建Topic:使用Kafka命令行工具创建测试Topic(名称test-topic,1个分区,1个副本):
    ./kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
  2. 查看Topic列表:确认Topic是否创建成功:
    ./kafka-topics.sh --list --bootstrap-server localhost:9092
  3. 生产消息:启动控制台生产者,向test-topic发送消息:
    ./kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092
    输入消息(如Hello Kafka)后按回车键发送。
  4. 消费消息:启动控制台消费者,从test-topic接收消息:
    ./kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server localhost:9092
    应能看到生产者发送的消息。

七、可选:配置KRaft模式(无ZooKeeper) 若使用Kafka 3.4+版本,可通过KRaft模式摆脱ZooKeeper依赖:

  1. 修改config/kraft/server.properties,设置process.roles=broker,controllercontroller.quorum.voters=0@localhost:90930为Broker ID);
  2. 初始化集群元数据:./kafka-storage.sh format -t $(./kafka-storage.sh random-uuid) -c config/kraft/server.properties
  3. 启动Broker(自动作为Controller运行):./kafka-server-start.sh -daemon config/kraft/server.properties

0
看了该问题的人还看了