开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

我想问下 你们 flink on k8s 的 检查点 都存在哪了 ,单独安的 hdfs 吗?

我想问下 你们 flink on k8s 的 检查点 都存在哪了 ,单独安的 hdfs 吗?

展开
收起
真的很搞笑 2023-10-30 19:19:46 87 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在使用 Flink on Kubernetes 集群时,Flink 会使用持久化存储来保存检查点。具体的存储位置取决于您的设置。您可以在 Flink 配置文件中设置检查点存储路径。
    如果您选择了 HDFS 作为持久化存储,那么检查点会被保存在 HDFS 上的某个目录下。如果没有选择 HDFS,则检查点会被保存在 Kubernetes 所属的存储设备上。
    例如,您可以在 Flink 配置文件中设置如下参数来指定检查点存储路径:

    state.checkpoints.dir=hdfs://namenode:port/checkpoints/
    

    当然,也可以使用其他类型的持久化存储,如 NFS、Google Cloud Storage 或 Amazon S3 等。
    如果您希望使用外部的 HDFS 集群,您需要配置一个 Kubernetes 资源来指向外部 HDFS 集群,并且需要提供适当的安全认证信息。具体操作请参考 Flink 官方文档或社区讨论组。

    2023-10-31 14:59:02
    赞同 展开评论 打赏
  • 在Flink on K8s中,检查点(Checkpoint)是实现容错机制的核心功能,它能够根据配置周期性地基于各个Operator的状态来生成Snapshot快照,从而将这些状态数据定期持久化存储下来。当Flink程序一旦意外崩溃时,重新运行程序时可以有选择地从这些Snapshot进行恢复,从而修正因为故障带来的程序数据状态中断。在Flink 1.13版本及以后,如果您没有显示指定状态后端,Flink会默认使用轻量级的HashMapStateBackend作为其状态后端。

    具体来说,当每隔一段时间检查点保存操作被触发时,就把每个任务当前的状态复制一份,按照一定的逻辑结构放在一起持久化保存起来,就构成了检查点。然而,对于具体的存储位置,这取决于您的配置。例如,之前的版本采用HDFS作为状态快照(Checkpoint、Savepoint)的存储地址,但是由于仅使用了其HDFS作为状态快照存储地址,且Hadoop框架较重,在K8s集群中占用大量资源,因此现在更多的考虑将其替换为更轻量级的分布式文件系统——NFS。

    2023-10-31 14:46:06
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    ACK 云原生弹性方案—云原生时代的加速器 立即下载
    ACK集群类型选择最佳实践 立即下载
    海量数据分布式存储——Apache HDFS之最新进展 立即下载

    相关镜像