配置state.dir将状态存储数据保存在不同的目录中

xyhw6mcr  于 2021-06-06  发布在  Kafka
关注(0)|答案(0)|浏览(229)

我正在尝试配置拓扑以更改保存状态存储的默认目录。
我从文件上读到了财产 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

我的应用程序只有一个拓扑。它正在使用处理器api。一个处理器正在状态存储中添加内容。然后是一个标点符号,它定期从状态存储读取并输出关于输出主题的消息。
在构建拓扑时,我使用 application.id=my-application 以及 client.id=my-application-client . 但是在上面的第二行,我明白了 client.id=my-application-client-StreamThread-1-consumer 这就是 state.dir=/tmp/kafka-streams .
有没有其他地方需要配置 state.dir 在构建拓扑时?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题