Я пытаюсь настроить топологию для изменения каталога по умолчанию, в котором хранятся хранилища состояний.
Я прочитал из документов, что свойство state.dir
- это то, что мне нужно изменить.
По умолчанию это /tmp/kafka-streams
, и я хочу изменить его на /opt/kafka-streams
, потому что в нашей производственной системе наш каталог /tmp
очищается периодически.
Мое приложение имеет только одну топологию, и я установил для свойства state.dir
значение /opt/kafka-streams
.
В журналах я вижу, что сначала печатается следующее, что подтверждает использование /opt/kafka-streams
:
| loglevel="INFO" | thread="main" | logger="org.apache.kafka.streams.StreamsConfig " StreamsConfig values:
application.id = my-application
application.server =
bootstrap.servers = [192.168.92.118:9092]
buffered.records.per.partition = 1000
cache.max.bytes.buffering = 10485760
client.id = my-application-client
commit.interval.ms = 30000
connections.max.idle.ms = 540000
...
...
...
state.dir = /opt/kafka-streams
Но потом ... вскоре после журнала выше, ниже напечатана еще одна строка журнала, которая показывает, что /tmp/kafka-streams
все еще используется где-то:
| loglevel="INFO" | thread="main" | logger="org.apache.kafka.streams.StreamsConfig " StreamsConfig values:
application.id = my-application
application.server =
bootstrap.servers = [192.168.92.118:9092]
buffered.records.per.partition = 1000
cache.max.bytes.buffering = 10485760
client.id = my-application-client-StreamThread-1-consumer
...
...
...
state.dir = /tmp/kafka-streams
Мое приложение имеет только 1 топологию. Это использует процессор API. Один процессор добавляет вещи в государственный магазин. Затем есть пунктуатор, который периодически читает из хранилища состояний и выводит сообщения по теме вывода.
При построении топологии я использовал application.id=my-application
и client.id=my-application-client
. Но во 2-й строке журнала выше я вижу client.id=my-application-client-StreamThread-1-consumer
, и именно здесь state.dir=/tmp/kafka-streams
.
Есть ли другое место, где мне нужно настроить state.dir
при построении моей топологии?