【Kafka】Kafka 4.1.0版本安装、配置和服务启动问题解决过程记录

从官网下载Kafka最新版的安装包(kafka_2.13-4.1.0.tgz),上传到虚拟机解压,并重命名目录为kafka

在未对Kafka做任何配置的前提下,第一次启动Kafka进程,提示Java版本不符合要求,需要新版本。

2025-09-30 15:52:43.375 | main | INFO | io.prometheus.jmx.JavaAgent | Starting ...
2025-09-30 15:52:43.814 | main | INFO | io.prometheus.jmx.JavaAgent | HTTP enabled [true]
2025-09-30 15:52:43.814 | main | INFO | io.prometheus.jmx.JavaAgent | HTTP host:port [0.0.0.0:9308]
2025-09-30 15:52:43.814 | main | INFO | io.prometheus.jmx.JavaAgent | Starting HTTPServer ...
2025-09-30 15:52:43.959 | main | INFO | io.prometheus.jmx.JavaAgent | HTTPServer started
2025-09-30 15:52:43.960 | main | INFO | io.prometheus.jmx.JavaAgent | OpenTelemetry enabled [false]
2025-09-30 15:52:43.960 | main | INFO | io.prometheus.jmx.JavaAgent | Running ...
错误: 加载主类 kafka.Kafka 时出现 LinkageError
        java.lang.UnsupportedClassVersionError: kafka/Kafka has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file 
versions up to 55.0

于是上传JDK17的安装包(jdk-17.0.16.0.1_linux-x64.tar.gz)到虚拟机上,并在虚拟机里面配置了17的环境变量,再次启动,出现下面的报错

2025-09-30 15:56:47.578 | main | INFO | io.prometheus.jmx.JavaAgent | Starting ...
2025-09-30 15:56:47.868 | main | INFO | io.prometheus.jmx.JavaAgent | HTTP enabled [true]
2025-09-30 15:56:47.869 | main | INFO | io.prometheus.jmx.JavaAgent | HTTP host:port [0.0.0.0:9308]
2025-09-30 15:56:47.869 | main | INFO | io.prometheus.jmx.JavaAgent | Starting HTTPServer ...
2025-09-30 15:56:47.948 | main | INFO | io.prometheus.jmx.JavaAgent | HTTPServer started
2025-09-30 15:56:47.955 | main | INFO | io.prometheus.jmx.JavaAgent | OpenTelemetry enabled [false]
2025-09-30 15:56:47.955 | main | INFO | io.prometheus.jmx.JavaAgent | Running ...
[2025-09-30 15:56:49,337] INFO Registered `kafka:type=kafka.Log4jController` MBean (kafka.utils.Log4jControllerRegistration$)
[2025-09-30 15:56:49,873] ERROR Exiting Kafka due to fatal exception (kafka.Kafka$)
java.lang.RuntimeException: No readable meta.properties files found.
        at org.apache.kafka.metadata.properties
Kafka 4.1.0 集群部署时,硬件资源要求会受到多种因素的影响,如预期的吞吐量、消息保留策略、数据复制因子等。以下是一些通用的硬件资源要求建议: #### CPU - 对于轻负载的开发或测试环境,每台 Broker 服务器配备 2 - 4 核 CPU 通常就足够了。 - 在生产环境中,如果需要处理高吞吐量的消息,每台 Broker 建议配备 8 核或更多的 CPU。例如,当每秒需要处理数万条消息时,多核 CPU 能够并行处理消息的生产、消费和复制等操作,提高系统的整体性能。 #### 内存 - 开发或测试环境下,每台 Broker 分配 4 - 8GB 的内存即可。 - 生产环境中,每台 Broker 建议分配 16GB 及以上的内存。Kafka 使用内存进行消息缓存,足够的内存可以减少磁盘 I/O 操作,提高消息的处理速度。例如,在处理大流量的实时数据时,充足的内存可以让 Kafka 更高效地缓存消息,等待合适的时机将消息写入磁盘。 #### 磁盘 - **容量**:磁盘容量取决于消息的保留时间和预期的吞吐量。如果需要长时间保留消息,或者消息流量非常大,就需要更大的磁盘容量。例如,对于每天产生数 TB 数据的业务,需要为每台 Broker 配置数 TB 甚至数十 TB 的磁盘空间。 - **性能**:建议使用高速磁盘,如 SSD(固态硬盘)。SSD 具有较低的读写延迟,能够显著提高 Kafka 的性能。尤其是在高并发的场景下,SSD 可以更快地处理消息的读写操作,减少消息处理的延迟。 #### 网络 - 网络带宽要足够支持消息的传输。对于高吞吐量的集群,建议使用 1Gbps 或更高的网络带宽。例如,当多个 Broker 之间需要频繁地进行数据复制,或者生产者和消费者与 Broker 之间有大量的数据传输时,高速的网络可以确保数据的快速传输,避免网络瓶颈。 ### 示例配置代码 以下是一个简单的 Kafka 配置示例,展示了如何在配置文件中设置一些与硬件资源相关的参数: ```properties # 内存相关配置 # 堆内存大小 KAFKA_HEAP_OPTS="-Xmx16G -Xms16G" # 磁盘相关配置 # 日志存储目录 log.dirs=/data/kafka-logs # 网络相关配置 # Broker 监听的端口 listeners=PLAINTEXT://:9092 ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cnskylee

技术分享我是认真的,期待您打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值