我有一个flink集群,我通过s3使用checkpoint,每分钟我都会在s3中得到一个当前状态的快照,它需要20秒,但是快照使用所有网络带宽(1gb/s),所以我的工作每分钟会有20秒的延迟。我的问题是,有没有一种方法来限制检查点的带宽,或者通过检查点或其他解决方案来禁用整个网络的使用?谢谢
u3r8eeie1#
如果您还没有这样做,我建议您考虑使用增量检查点(使用rocksdb)。这个特性是在flink1.4中添加的,并且已经被证明对具有大状态的flink应用程序非常有用。默认情况下,增量检查点处于关闭状态。要启用它,请将true传递给构造函数,如下所示
RocksDBStateBackend backend = new RocksDBStateBackend(filebackend, true);
或设置 state.backend.incremental 在配置文件中为true。这并不能直接解决您的问题——如何限制检查点,使其不会使网络饱和——但是应该会有所帮助。另外,请注意,amazon建议在大量使用s3的应用程序中使用弹性网络适配器。这提供了高达25 gbps的带宽。有关在flink中使用大型state的更多信息,请参阅在apache flink中管理大型状态®: 增量检查点简介,stefan richter,数据工匠《云中的Flink》(scaling flink in cloud)、吴彦祖(steven wu)、网飞(netflix)
state.backend.incremental
1条答案
按热度按时间u3r8eeie1#
如果您还没有这样做,我建议您考虑使用增量检查点(使用rocksdb)。这个特性是在flink1.4中添加的,并且已经被证明对具有大状态的flink应用程序非常有用。
默认情况下,增量检查点处于关闭状态。要启用它,请将true传递给构造函数,如下所示
或设置
state.backend.incremental
在配置文件中为true。这并不能直接解决您的问题——如何限制检查点,使其不会使网络饱和——但是应该会有所帮助。
另外,请注意,amazon建议在大量使用s3的应用程序中使用弹性网络适配器。这提供了高达25 gbps的带宽。
有关在flink中使用大型state的更多信息,请参阅
在apache flink中管理大型状态®: 增量检查点简介,stefan richter,数据工匠
《云中的Flink》(scaling flink in cloud)、吴彦祖(steven wu)、网飞(netflix)