You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行zookeeper-server-start启动Zookeeper报Error opening log file错误

Kafka启动Zookeeper报GC日志路径不存在错误解决方法

报错场景

按照Kafka官方快速入门流程操作,启动Zookeeper时直接抛出JVM启动失败错误,核心报错信息如下:

[0.002s][error][logging] Error opening log file '/g/kafka_2.13-3.2.0/bin/../logs/zookeeper-gc.log': No such file or directory
[0.002s][error][logging] Initialization of output 'file=/g/kafka_2.13-3.2.0/bin/../logs/zookeeper-gc.log' using options 'filecount=10,filesize=100M' failed.
Invalid -Xlog option '-Xlog:gc*:file=/g/kafka_2.13-3.2.0/bin/../logs/zookeeper-gc.log:time,tags:filecount=10,filesize=100M', see error log for details.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

分别在安装Java 17、Java 18且正确配置JAVA_HOME的设备上测试,都会稳定复现这个问题,和Java大版本没有关系。

根本原因

Kafka 3.2.0的二进制压缩包解压后,根目录默认不会自带logs文件夹,但是Zookeeper启动脚本里提前写死了GC日志要输出到这个目录下。JVM启动时初始化GC日志配置,发现目标目录不存在,不会自动创建目录,直接终止启动流程抛出错误。

解决步骤

  • 先进入Kafka的解压根目录,也就是报错路径里的/g/kafka_2.13-3.2.0/位置,手动新建一个名为logs的空文件夹
    Windows环境可以直接在资源管理器右键新建文件夹,也可以在命令行执行:
    mkdir G:\kafka_2.13-3.2.0\logs
    
    Linux/macOS环境在终端执行:
    mkdir -p /你的Kafka存放路径/kafka_2.13-3.2.0/logs
    
  • 回到Kafka根目录,重新执行Zookeeper启动命令即可正常拉起服务
    *注意:执行启动命令时不要随意切换工作目录,避免相对路径定位失效,推荐直接在Kafka根目录下执行对应命令:
    Windows环境:
    bin\windows\zookeeper-server-start.bat config\zookeeper.properties
    
    Linux/macOS环境:
    bin/zookeeper-server-start.sh config/zookeeper.properties
    

额外排查项

如果创建完logs目录还是报同类错误,检查两个点:

  • 当前操作系统登录的用户,对Kafka所在目录有没有写入权限,比如Windows下放在C盘Program Files目录触发系统权限拦截、Linux下用普通用户操作root创建的Kafka目录
  • 有没有手动修改过启动脚本里的GC日志路径配置,确保配置的路径是真实存在的

内容的提问来源于stack exchange,提问作者Josh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 00:57:20