融合平台和java.nio.file.DirectoryNotEmptyException

时间:2018-08-26 09:00:38

标签: docker apache-kafka confluent

我使用多合一融合平台https://docs.confluent.io/current/quickstart/ce-docker-quickstart.html

我执行了上述文档中所述的步骤,并且能够通过以下docker-compose up -d https://github.com/confluentinc/cp-docker-images/tree/master/examples/cp-all-in-one上的docker-compose.yml命令在Windows 10计算机上运行Confluent Platform。

除我在应用程序控制台中看到的错误消息外,其他所有东西都工作正常:

java.nio.file.DirectoryNotEmptyException: \tmp\kafka-streams\testStreams\0_3
    at sun.nio.fs.WindowsFileSystemProvider.implDelete(WindowsFileSystemProvider.java:266) ~[na:1.8.0_171]
    at sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103) ~[na:1.8.0_171]
    at java.nio.file.Files.delete(Files.java:1126) ~[na:1.8.0_171]
    at org.apache.kafka.common.utils.Utils$1.postVisitDirectory(Utils.java:651) ~[kafka-clients-1.1.0.jar:na]
    at org.apache.kafka.common.utils.Utils$1.postVisitDirectory(Utils.java:634) ~[kafka-clients-1.1.0.jar:na]
    at java.nio.file.Files.walkFileTree(Files.java:2688) ~[na:1.8.0_171]
    at java.nio.file.Files.walkFileTree(Files.java:2742) ~[na:1.8.0_171]
    at org.apache.kafka.common.utils.Utils.delete(Utils.java:634) ~[kafka-clients-1.1.0.jar:na]
    at org.apache.kafka.streams.processor.internals.StateDirectory.cleanRemovedTasks(StateDirectory.java:287) [kafka-streams-1.1.0.jar:na]
    at org.apache.kafka.streams.processor.internals.StateDirectory.cleanRemovedTasks(StateDirectory.java:250) [kafka-streams-1.1.0.jar:na]
    at org.apache.kafka.streams.KafkaStreams$2.run(KafkaStreams.java:777) [kafka-streams-1.1.0.jar:na]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_171]
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [na:1.8.0_171]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_171]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [na:1.8.0_171]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_171]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_171]
    at java.lang.Thread.run(Thread.java:748) [na:1.8.0_171]

此错误的原因可能是什么,如何解决?

1 个答案:

答案 0 :(得分:1)

目前尚不清楚“您正在申请”是什么意思 ,但是\tmp\在Windows计算机上显然不存在

我不确定这些路径是如何从* nix地址转换为Windows容器的,或者不确定是否可以为Kafka Streams(?)设置数据位置的属性

您可以尝试在代理上设置KAFKA_LOG_DIRS,但这仍然是Unix路径,而不是Windows

如Confluent文档中所述,Windows尚未经过真正测试,应使用Docker计算机(至少,它曾经这样说)