一直在查看 Flink Kubernetes Operator v1.10 的文档,有没有一种方法可以预先配置集群,以便所有提交的作业都将使用带有一些预定义 s3 路径的 RocksDB 状态?要使其发挥作用需要什么?我一直在尝试使用 S3 后端设置作业,但它说不支持 s3 后端,我需要启用 s3 插件,但我不确定如何去做。
你应该:
启用 RocksDB 状态后端: 在 flink-conf.yaml 文件中设置 state.backend:rocksdb。 添加 state.checkpoints.dir: s3:/// 用于 S3 检查点存储。
启用S3插件: 将 S3 插件包含在您的 Flink 映像或部署中。将 flink-s3-fs-hadoop 或 flink-s3-fs-presto jar 添加到插件目录中。
提供S3凭证: 使用环境变量(AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY)配置访问密钥或将它们添加到 flink-conf.yaml。
在 Kubernetes 上部署: 使用启用了 S3 插件的自定义 Flink Docker 映像,或将插件目录挂载到 Kubernetes Pod 中。