Kafka 流中的 RocksDB 在有 space 可用时报告没有 space
RocksDB in Kafka stream reporting no space when there is space available
我有一个带有 GlobalKtable
的 Streams 应用程序,该应用程序由 RocksDB 支持,但出现故障。我最初得到 https://issues.apache.org/jira/browse/KAFKA-6327 中描述的错误,所以我将 RocksDB 升级到 v5.14.2,现在给出了更明确的错误:org.rocksdb.RocksDBException: While open a file for appending: /kafka_streams/...snip.../000295.sst: No space left on device
RocksDB 溢出到磁盘的目录(RHEL 上的文件挂载)似乎有足够的 space (Size: 5.4G Used: 2.8G Available: 2.6G Use%: 52%
)。我假设它实际上试图分配超过剩余的 2.6G,但这似乎不太可能;该主题中没有那么多数据。
我在 https://docs.confluent.io/current/streams/developer-guide/config-streams.html#rocksdb-config-setter 找到了有关配置 RocksDB 的默认值的详细信息,但我没有看到任何可能解决问题的明显内容。
我还没有找到任何与此类问题相关的错误报告,我对后续步骤的故障排除一筹莫展。
编辑添加:
我只是 运行 我的本地开发机器上的流应用程序针对具有上述问题的相同 Kafka 环境。在加载状态存储时,状态存储目录漂移到 3.1G 的高位,然后稳定在 2.1G 左右。它从未接近我们开发服务器上可用的 5G。我还没有找到答案。
我从来没有找到部署环境中磁盘使用情况为何如此的答案,但我最终绝望地分配了更多 space;在处理流时,它消耗了多达 14GB 的 space,然后稳定在 3-4GB 左右。我假设磁盘 space 错误是因为 RocksDB 试图分配 space,而不是它已经写入它。
我添加了一个 'rule of thumb' 我应该分配 4 倍的磁盘 space 我希望用于流媒体应用程序。
我有一个带有 GlobalKtable
的 Streams 应用程序,该应用程序由 RocksDB 支持,但出现故障。我最初得到 https://issues.apache.org/jira/browse/KAFKA-6327 中描述的错误,所以我将 RocksDB 升级到 v5.14.2,现在给出了更明确的错误:org.rocksdb.RocksDBException: While open a file for appending: /kafka_streams/...snip.../000295.sst: No space left on device
RocksDB 溢出到磁盘的目录(RHEL 上的文件挂载)似乎有足够的 space (Size: 5.4G Used: 2.8G Available: 2.6G Use%: 52%
)。我假设它实际上试图分配超过剩余的 2.6G,但这似乎不太可能;该主题中没有那么多数据。
我在 https://docs.confluent.io/current/streams/developer-guide/config-streams.html#rocksdb-config-setter 找到了有关配置 RocksDB 的默认值的详细信息,但我没有看到任何可能解决问题的明显内容。
我还没有找到任何与此类问题相关的错误报告,我对后续步骤的故障排除一筹莫展。
编辑添加: 我只是 运行 我的本地开发机器上的流应用程序针对具有上述问题的相同 Kafka 环境。在加载状态存储时,状态存储目录漂移到 3.1G 的高位,然后稳定在 2.1G 左右。它从未接近我们开发服务器上可用的 5G。我还没有找到答案。
我从来没有找到部署环境中磁盘使用情况为何如此的答案,但我最终绝望地分配了更多 space;在处理流时,它消耗了多达 14GB 的 space,然后稳定在 3-4GB 左右。我假设磁盘 space 错误是因为 RocksDB 试图分配 space,而不是它已经写入它。
我添加了一个 'rule of thumb' 我应该分配 4 倍的磁盘 space 我希望用于流媒体应用程序。