You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by Michael Ran <gr...@163.com> on 2020/10/09 09:50:31 UTC

Re:Re: checkpoint rocksdb hdfs 如何协调,保证数据不丢失

好的,非常感谢。
在 2020-09-29 14:23:10,"王冶" <wa...@gmail.com> 写道:
>Hi~ 按你的问题顺序回答如下:
> 1. Flink中的RocksDB是支持保存到hdfs的,且支持的非常好,将rocksdb的存储路径设置为hdfs路径即可。
> 2.
>in-flight的数据是保存在本地磁盘的,仅当checkpoint的时候,才会将本地的状态拷贝到hdfs。而且checkpoint本身不会因为远程拷贝影响计算速度。
> 3.
>多久备份一次,取决于你配置的checkpoint的间隔。每次checkpoint都会备份&远程拷贝。但请注意,默认配置下checkpoint会在作业停止后删除,这时候你需要手动触发savepoint,你当然也可以在作业运行过程中出发保存savepoint,savepoint的好处是不会随作业停止而删除,且可以让新作业基于savepoint启动,从而实现exactly-once或at-least的语义。
> 4. Flink提供多种状态后端,需要根据你的实际场景选择。但对于大状态和高可用场景,推荐rocksdb。具体的推荐还是多读下文档。
>
>文档:
>https://ci.apache.org/projects/flink/flink-docs-release-1.11/ops/state/state_backends.html#rocksdb-state-backend-details
>https://ci.apache.org/projects/flink/flink-docs-release-1.11/ops/state/checkpoints.html
>https://ci.apache.org/projects/flink/flink-docs-release-1.11/ops/state/savepoints.html
>https://ci.apache.org/projects/flink/flink-docs-release-1.11/ops/state/large_state_tuning.html
>
>祝好,
>By Soda
>
>
>On Tue, 29 Sep 2020 at 11:06, Michael Ran <gr...@163.com> wrote:
>
>> dear all :
>>             我们checkpoint 信息默认保存在rocksdb上,但是rocksdb
>> 是一个单机系统,性能OK,要做到不丢失还是要备份到hdfs分布式文件系统上。
>>
>>
>>            问题是:
>>            1. 如果仅保存在rocksdb,那么单机物理损坏,数据是会丢失的。
>>            2. 如果仅保存hdfs,那么性能可能跟不上
>>            3.如果先保存到rocksdb,再定时备份到hdfs,那么是多久备份一次?中间出现物理损坏,还是会出现一端时间的丢失。
>>            4. 这块的详细设计,和具体流程、场景有合适的文档推荐吗?怎么再性能和数据完整性上做考虑的