Windows10系统启动kafka_2.13-3.0.0服务报目录权限错误求助
解决方案
方案1:更换Kafka日志存储路径(优先推荐)
系统盘根目录的C:\tmp默认受Windows UAC、系统权限保护,大概率会出现读写权限异常,直接更换路径可快速解决问题:
- 打开Kafka安装目录下
config/server.properties配置文件 - 找到
log.dirs配置项,将默认值修改为非系统盘的自定义路径,示例:
log.dirs=D:/kafka_data/kafka-logs
- 手动创建配置的目标路径,删除原有
C:\tmp下残留的kafka-logs、zookeeper目录后重新启动Kafka服务即可。
方案2:修复
C:\tmp目录权限
之前执行的授权命令存在路径末尾多余反斜杠的问题,会导致授权不生效,按以下步骤重新操作:
- 完全关闭运行中的Zookeeper、Kafka进程,删除
C:\tmp下所有自动生成的子目录 - 以管理员身份打开CMD,依次执行以下两条命令:
icacls "C:\tmp" /grant Users:F /T /C /Q icacls "C:\tmp" /inheritance:e
- 重新启动服务验证是否恢复正常。
方案3:排查安全软件拦截
Windows Defender、第三方杀毒软件会拦截Java进程对系统盘目录的写入操作,可先暂时禁用安全软件的实时防护功能,重新启动Kafka测试:
- 如果启动成功,将
C:\tmp目录、Kafka安装目录、JDK安装目录加入安全软件的信任白名单即可。 方案4:调整启动会话权限
管理员身份启动的CMD会触发UAC权限虚拟化,反而可能出现目录访问限制,可尝试使用普通用户身份打开CMD窗口,重新执行启动命令。
注意:无论使用哪种方案,操作完成后都需要删除之前生成的损坏的
kafka-logs目录,否则残留的无效目录数据仍会导致启动失败。
内容的提问来源于stack exchange,提问作者user1769197
相关产品推荐
相关产品推荐

