在Flink应用程序中,我依靠Flink的Queryable状态来查询计算结果。
不幸的是,在运行应用程序并接收到许多计算请求后,查询客户端死亡(不再响应)。我已经调试了很长时间,但无法弄清楚为什么会发生这种情况。
关于 QueryableStateClient
为何死亡,您有任何提示吗?
RocksDBStateBackend
是问题的解决方案吗?在生产中优先使用 RocksDBStateBackend
吗?
我的堆栈是:
Flink 1.6.2
MemoryStateBackend
或FsStateBackend
状态后端。我尚未使用RocksDBStateBackend
进行测试。我知道以下警告,但据说RocksDBStateBackend
慢吗?
读取-修改-写入模式不安全,并且可能由于并发修改而导致可查询状态服务器失败。 RocksDBStateBackend对于这些问题是安全的。
FsStateBackend
,我尝试了本地文件系统和hdfs。都失败了。