如何在Linux中安装并配置Apache Kafka Linux高吞吐消息系统的方法

浅静大大_4406

浅静大大_4406

2026-05-29

594人浏览

原创

kafka 3.3.0+默认支持无zookeeper的kraft模式,需用config/kraft/server.properties配置并执行kafka-storage.sh format初始化;旧版本或混用模式会导致启动失败。

如何在linux中安装并配置apache kafka linux高吞吐消息系统的方法

Kafka 在 Linux 上能直接跑起来,但关键得看用不用 ZooKeeper —— 3.3.0+ 默认支持 KRaft 模式(无 ZooKeeper),而老版本或生产环境仍常见 ZooKeeper 依赖。选错模式会导致启动失败、kafka-server-start.sh 报 Failed to find any class that implements Plugin 或卡在连接 zookeeper.connect。

确认 Kafka 版本与部署模式是否匹配

先查清你下载的是不是 3.3.0 及以上版本(如 kafka_2.12-3.9.1.tgz):解压后看目录名或运行 bin/kafka-topics.sh --version。低于 3.3.0 的版本不支持 KRaft,硬改 server.properties 去掉 zookeeper.connect 会直接启动报错。

  • 用 KRaft(推荐新部署):配置文件路径是 config/kraft/server.properties,启动脚本也必须指向它
  • 用 ZooKeeper(兼容旧集群/部分云服务):配置文件是 config/server.properties,且必须先确保 ZooKeeper 进程已运行
  • 混用会失败:比如用 KRaft 配置却执行 ./kafka-server-start.sh config/server.properties,日志里会出现 NoClassDefFoundError: org/apache/zookeeper/ZooKeeper

配置 KRaft 模式时最易漏的三步

KRaft 不需要 ZooKeeper,但替代机制更严格——kafka-storage.sh 必须完整执行,否则 meta.properties 缺失导致 broker 拒绝启动。

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载
  • 生成集群 ID:kafka-storage.sh random-uuid,别直接写死字符串,必须用命令输出结果
  • 格式化存储目录:kafka-storage.sh format -t <uuid> -c config/kraft/server.properties</uuid>,注意 -t 是 cluster ID,不是 node ID;-c 后跟的是配置文件全路径
  • 检查 log.dirs 目录权限:chown -R $USER:$USER /opt/kafka_2.12-3.9.1/data/kafka,否则 format 会静默失败,meta.properties 不生成

listeners 和 advertised.listeners 不一致的典型症状

本地测试时设成 PLAINTEXT://localhost:9092 没问题,但一旦换到云服务器或 Docker,消费者连不上、超时、报 Connection refused,八成是这两个参数没对齐。

  • listeners 是 broker 实际监听的地址,可设为 PLAINTEXT://0.0.0.0:9092(允许所有网卡接入)
  • advertised.listeners 是告诉客户端“你该连谁”,必须填外部可访问的 IP 或域名,比如 PLAINTEXT://192.168.1.100:9092 或 PLAINTEXT://kafka.example.com:9092
  • 如果只配了 listeners 没配 advertised.listeners,Kafka 会自动推导,但在 NAT 环境下大概率推错,务必显式声明

后台运行和 systemd 管理的坑点

直接 nohup ./kafka-server-start.sh ... & 能跑,但进程挂掉不会自动拉起,日志也不进 journalctl。用 systemd 更稳,但有两处必须手动处理:

  • ExecStart 必须用绝对路径:/opt/kafka_2.12-3.9.1/bin/kafka-server-start.sh /opt/kafka_2.12-3.9.1/config/kraft/server.properties,不能用 ../ 相对路径
  • 加 Environment="JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk",否则 systemd 启动时找不到 Java,报 java: command not found
  • 首次启动前先手动运行一次脚本,确认 log.dirs 下已生成 __cluster_metadata-0 分区目录,否则 systemd 会因目录为空反复重启
KRaft 模式下 meta.properties 文件一旦生成就不可更改 cluster.id,重装必须删干净 log.dirs 全目录再 format —— 这个限制容易被忽略,导致反复启动失败。

相关文章

Kafka Eagle可视化工具
Kafka Eagle可视化工具

Kafka Eagle是一款结合了目前大数据Kafka监控工具的特点,重新研发的一块开源免费的Kafka集群优秀的监控工具。它可以非常方便的监控生产环境中的offset、lag变化、partition分布、owner等,有需要的小伙伴快来保存下载体验吧!

下载

相关标签:

linux apache

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
kafka消费者组有什么作用
kafka消费者组有什么作用

kafka消费者组的作用:1、负载均衡;2、容错性;3、广播模式;4、灵活性;5、自动故障转移和领导者选举;6、动态扩展性;7、顺序保证;8、数据压缩;9、事务性支持。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.01.12

2846

5

kafka消费组的作用是什么
kafka消费组的作用是什么

kafka消费组的作用:1、负载均衡;2、容错性;3、灵活性;4、高可用性;5、扩展性;6、顺序保证;7、数据压缩;8、事务性支持。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

630

5

rabbitmq和kafka有什么区别
rabbitmq和kafka有什么区别

rabbitmq和kafka的区别:1、语言与平台;2、消息传递模型;3、可靠性;4、性能与吞吐量;5、集群与负载均衡;6、消费模型;7、用途与场景;8、社区与生态系统;9、监控与管理;10、其他特性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

624

5

Java 流式处理与 Apache Kafka 实战
Java 流式处理与 Apache Kafka 实战

本专题专注讲解 Java 在流式数据处理与消息队列系统中的应用,系统讲解 Apache Kafka 的基础概念、生产者与消费者模型、Kafka Streams 与 KSQL 流式处理框架、实时数据分析与监控,结合实际业务场景,帮助开发者构建 高吞吐量、低延迟的实时数据流管道,实现高效的数据流转与处理。

2026.02.04

690

32

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

4170

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3533

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2753

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6750

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

6382

7

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习