Confluent Platform и java.nio.file.DirectoryNotEmptyException

Я использую многофункциональную платформу Confluent Platform https://docs.confluent.io/current/quickstart/ce-docker-quickstart.html.

Я выполнил шаги, описанные в документации выше, и смог запустить Confluent Platform на компьютере с Windows 10 с помощью команды docker-compose up -d в следующем docker-compose.yml https://github.com/confluentinc/cp-docker-images/tree/master/examples/cp-all-in-one .

Все работает нормально, кроме сообщения об ошибке, которое я вижу в консоли своего приложения:

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]

В чем может быть причина этой ошибки и как ее исправить?


person alexanoid    schedule 26.08.2018    source источник


Ответы (1)


Непонятно, что означает "ваше приложение", но \tmp\ явно не существует на компьютерах с Windows

Я не уверен, как эти пути переводятся из адресов * nix в контейнеры Windows или есть ли свойство для установки местоположения данных для потоков Kafka (?)

Вы можете попробовать установить KAFKA_LOG_DIRS на брокере, но это все еще путь Unix, а не windows

Как упоминалось в документации Confluent, Windows на самом деле не тестируется, и следует использовать машину Docker (по крайней мере, раньше так говорилось)

person OneCricketeer    schedule 27.08.2018