我看过一个叫 Managing State in Apache Flink - Tzu-Li (Gordon) Tai
. 在这个视频中,它用分布式文件系统存储数据。
我想知道如果我为flink检查点配置本地文件系统会发生什么?
如:
env.setStateBackend(new RocksDBStateBackend(getString("flie:///tmp/checkpoints"), true));
我假设flink集群的每个节点都会保留自己的数据。这样行吗?
我看过一个叫 Managing State in Apache Flink - Tzu-Li (Gordon) Tai
. 在这个视频中,它用分布式文件系统存储数据。
我想知道如果我为flink检查点配置本地文件系统会发生什么?
如:
env.setStateBackend(new RocksDBStateBackend(getString("flie:///tmp/checkpoints"), true));
我假设flink集群的每个节点都会保留自己的数据。这样行吗?
1条答案
按热度按时间ua4mk5z41#
我假设flink集群的每个节点都会保留自己的数据。
这是正确的。
这样行吗?
使用本地文件系统和分布式节点,您可能可以很好地进行检查点检查(即使这并不确定,因为目录可能是由
JobManager
所以TaskManager
示例可能会在目录不存在的情况下失败),但是您将无法还原,因为JobManager
读取并根据需要分发给操作员。严格地说,文件系统是本地的还是分布式的并不重要
flink
. 重要的是JobManager
因为还原时间可以看到所有的检查点数据。如果在同一台机器上运行所有文件,那么本地文件系统就可以正常工作。我认为原则上,您甚至可以让所有节点在本地写入数据,然后手动使用同步过程将数据移动到
JobManager
在尝试还原时可以看到它,但是这肯定不是推荐的方法。