我正在使用Apache Flink 1.10.0从RabbitMQ提取数据流,现在我正在内存中使用默认检查点配置。现在要使其恢复,当任务管理器重新启动时,我需要将状态和检查点存储在文件系统中,所有演示都应使用“ hdfs:// namenode:4000 / ....”,但是现在我没有HDFS集群,我的Apache Flink在kubernetes集群中运行,如何将我的检查点存储在文件系统中?
我阅读了Apache Flink的docs,并告诉我它的支持:
一个持久(或持久)数据源,可以在一定时间内重播记录。此类消息源的示例是持久消息队列(例如Apache Kafka,RabbitMQ,Amazon Kinesis,Google PubSub)或文件系统(例如HDFS,S3,GFS,NFS,Ceph等)。
状态的持久存储,通常是分布式文件系统(例如,HDFS,S3,GFS,NFS,Ceph等)
如何配置flink以使用NFS存储检查点和状态?我从互联网上搜索,没有找到有关此解决方案的故事。
答案 0 :(得分:1)
要使用NFS与Flink进行检查,应使用file:
URI指定一个checkpoint directory,该URI可从群集中的每个节点访问(作业管理器和所有任务管理器都需要使用相同的URI)。
例如,您可以将NFS卷挂载在每台计算机上的/data/flink/checkpoints
上,然后指定
state.checkpoints.dir: file:///data/flink/checkpoints