0

为了调试生产问题,我使用 ProcessJobFactory 在本地运行 Samza 代码。一切似乎运行良好。

该代码使用由 RocksDB 和 Kafka 支持的 Samza 键/值存储作为更改日志(Kafka 在不同的机器上运行以防万一)。

为了用真实数据填充环境以进行调试,我将实时数据重播到 Kafka 更改日志中,用于 RocksDB 数据库的键/值存储,而 Samza 作业已停止。

启动 Samza 时,它不会RocksDB 数据库与 Kafka 更改日志重新同步。我使用 Keylord(工具)验证了这一点,并直接查看了 RocksDB 数据库的内容。

如何强制 Samza 将 RocksDB 数据库(键/值存储)与更改日志重新同步?是否可以进行配置设置或代码级调用?

相关 - 我假设代码执行 key-value-store.all(); 即使代码中的缓存为空,它也会转到 RocksDB 并从那里提取“所有条目”?

谢谢,

4

1 回答 1

1

您是否尝试过删除 samza 作业托管其 RocksDB 存储的存储目录?它位于您配置的 job.logged.store.base.dir 下 https://samza.apache.org/learn/documentation/latest/jobs/configuration-table.html ,默认为 user.dir 环境属性

于 2020-02-18T17:19:12.390 回答