首页主机资讯kafka在ubuntu上的配置步骤

kafka在ubuntu上的配置步骤

时间2025-11-26 00:58:03发布访客分类主机资讯浏览932
导读:在 Ubuntu 上配置 Apache Kafka 的完整步骤 一 环境准备 安装 Java(推荐 OpenJDK 11): 执行:sudo apt update && sudo apt install openjdk-...

在 Ubuntu 上配置 Apache Kafka 的完整步骤

一 环境准备

  • 安装 Java(推荐 OpenJDK 11):
    • 执行:sudo apt update & & sudo apt install openjdk-11-jdk -y
    • 验证:java -version
  • 创建专用用户(可选,提升安全性):
    • 执行:sudo useradd -m -s /bin/bash kafka & & sudo passwd kafka
    • 如需提权:sudo usermod -aG sudo kafka(完成后可按需移除 sudo 权限并锁定密码)

二 安装与目录规划

  • 下载并解压 Kafka(示例为 3.9.1,可替换为最新稳定版):
    • 执行:wget https://downloads.apache.org/kafka/3.9.1/kafka_2.13-3.9.1.tgz
    • 解压:tar -xzf kafka_2.13-3.9.1.tgz
    • 移动:sudo mv kafka_2.13-3.9.1 /usr/local/kafka
  • 环境变量(可选,便于全局使用命令):
    • 执行:echo 'export KAFKA_HOME=/usr/local/kafka' > > ~/.bashrc
    • 执行:echo 'export PATH=$PATH:$KAFKA_HOME/bin' > > ~/.bashrc
    • 生效:source ~/.bashrc
  • 目录建议:
    • 数据存储:/var/lib/kafka/data(对应 server.properties 的 log.dirs
    • 日志目录:/var/log/kafka(便于 logrotate 管理)

三 配置与启动

  • 选择运行模式
    • KRaft 模式(推荐,Kafka 3.x 内置,无需单独 ZooKeeper)
    • ZooKeeper 模式(传统方式,依赖外部或自带 ZooKeeper)
  • KRaft 模式(单机示例)
    • 生成集群 ID:/usr/local/kafka/bin/kafka-storage.sh random-uuid(保存输出的 cluster.id
    • 格式化存储:/usr/local/kafka/bin/kafka-storage.sh format -t < cluster.id> -c /usr/local/kafka/config/kraft/server.properties
    • 启动 Broker:/usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/kraft/server.properties
  • ZooKeeper 模式(单机示例)
    • 启动 ZooKeeper:/usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties
    • 启动 Kafka:/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
  • 常用配置项(server.properties)
    • broker.id=0(单机固定为 0;集群需唯一)
    • listeners=PLAINTEXT://0.0.0.0:9092
    • advertised.listeners=PLAINTEXT://< 服务器公网或内网IP> :9092
    • log.dirs=/var/lib/kafka/data
    • 如使用 ZooKeeper:zookeeper.connect=localhost:2181
  • 验证进程与端口
    • 查看端口:netstat -tulnp | grep 9092ss -ltnp | grep 9092
    • 查看日志:tail -f /usr/local/kafka/logs/server.log

四 基本功能测试

  • 创建 Topic(KRaft 推荐用 bootstrap-server;ZooKeeper 也可用 --zookeeper)
    • 执行:/usr/local/kafka/bin/kafka-topics.sh --create --topic test --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
  • 列出 Topic
    • 执行:/usr/local/kafka/bin/kafka-topics.sh --list --bootstrap-server localhost:9092
  • 启动生产者
    • 执行:/usr/local/kafka/bin/kafka-console-producer.sh --topic test --bootstrap-server localhost:9092
  • 启动消费者
    • 执行:/usr/local/kafka/bin/kafka-console-consumer.sh --topic test --bootstrap-server localhost:9092 --from-beginning
  • 观察消费者终端是否能实时收到生产者消息

五 常见问题与优化

  • 无法远程连接
    • listeners 设为 PLAINTEXT://0.0.0.0:9092advertised.listeners 设为服务器的 实际 IP(不要用 127.0.0.1);同时检查云服务器安全组/防火墙放行 9092 端口。
  • 启动报错 Java 未找到
    • 确认已安装 JDK 且 java -version 正常;必要时设置 JAVA_HOME 并加入 PATH。
  • 清理与重建 KRaft 存储
    • 停止 Broker,备份并清理 log.dirs 目录,重新执行 kafka-storage.sh format 后再启动。
  • 资源与性能
    • 堆内存:在启动前设置 export KAFKA_HEAP_OPTS="-Xmx2G -Xms2G"(按机器内存调整)
    • 关键参数:num.partitions(分区数)、compression.type=snappy/lz4log.retention.hoursnum.io.threads 等可按业务与硬件调优。
  • 生产建议
    • 使用 systemd 托管 Kafka/ZooKeeper 服务,配置日志轮转(logrotate),并分离数据与日志目录到独立磁盘。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: kafka在ubuntu上的配置步骤
本文地址: https://pptw.com/jishu/756192.html
kafka消息丢失在ubuntu上怎么办 Debian系统中PHPStorm的内存占用如何优化

游客 回复需填写必要信息