Kafka 3 默认的 AccessDeniedException state.dir

AccessDeniedException for Kafka 3 default state.dir

当我们在 Windows 10 上使用 Kafka 运行 时,每 5 秒会出现以下错误。

Failed to write offset checkpoint file to C:/tmp/kafka-streams/user/global/.checkpoint for global stores: {}. This may occur if OS cleaned the state.dir in case when it is located in the (default) ${java.io.tmpdir}/kafka-streams directory. Changing the location of state.dir may resolve the problem.

java.nio.file.AccessDeniedException: C:/tmp/kafka-streams/user/global

这是我们的Gradle。在撰写本文时,这将默认导入 3.0 版本。

api 'org.apache.kafka:kafka-streams'
api 'org.apache.kafka:kafka-clients'

我检查了文件夹权限,kafka-streams 子文件夹似乎是只读的。即使我更改它,它也会返回只读状态。

环境

JDK 17.0.2
Kafka 3.0
Windows 10

当我将 Kafka 版本升级到 3.1.0 时,警告立即消失了。我不知道是什么原因。

api 'org.apache.kafka:kafka-streams:3.1.0'
api 'org.apache.kafka:kafka-clients:3.1.0'