本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Apache Flink Stateful Functions是一个API,旨在简化分布式有状态应用的构建,其运行时专为无服务器架构设计。它融合了有状态流处理的优势——以低延迟和有限资源约束处理大型数据集,同时提供一个用于建模有状态实体的运行时,支持位置透明性、并发性、可扩展性和弹性。
了解更多关于Stateful Functions的信息,请访问官方网站。
适用于需要构建分布式有状态应用的场景,特别适合无服务器架构环境。适用于要求低延迟数据处理、资源高效利用,同时需要高并发、可扩展和弹性的应用开发,如实时数据处理、事件驱动应用、流处理服务等。
Stateful Functions应用的推荐部署方式是基于此基础镜像构建Docker镜像,这样用户代码无需打包任何Apache Flink或Stateful Functions组件。
该基础镜像允许快速打包包含所有必要运行时依赖的应用。
以下是构建Stateful Functions应用镜像的Dockerfile示例,包含嵌入式模块和远程模块,应用名为my-statefun-app:
FROM flink-statefun RUN mkdir -p /opt/statefun/modules/my-statefun-app RUN mkdir -p /opt/statefun/modules/remote COPY my-statefun-app*jar /opt/statefun/modules/my-statefun-app/ COPY module.yaml /opt/statefun/modules/remote/module.yaml
镜像构建完成后,即可部署应用。以下说明假设构建的应用镜像名为my-statefun-app。
可通过以下命令运行应用的master节点:
$ docker run -e "ROLE=master" -e "MASTER_HOST=localhost" -d -t my-statefun-app
随后,可运行worker节点:
$ docker run -e "ROLE=worker" -e "MASTER_HOST=localhost" -d -t my-statefun-app
通过Docker Compose可部署完整的Stateful Functions应用集群:
version: "2.1" services: master: image: my-statefun-app expose: - "6123" ports: - "8081:8081" environment: - ROLE=master - MASTER_HOST=master worker: image: my-statefun-app expose: - "6121" - "6122" depends_on: - master links: - "master:master" environment: - ROLE=worker - MASTER_HOST=master
启动集群:
$ docker-compose up
扩展集群至N个worker节点:
$ docker-compose scale worker=<N>
可在此处找到基于Docker Compose的Stateful Functions应用完整示例。
运行master节点时常用的命令行参数:
-s, --fromSavepoint: 恢复应用的保存点路径-p, --parallelism: 应用运行的并行度ROLE: 运行角色,可选master(主节点)或worker(工作节点),默认值:workerMASTER_HOST: 应用主节点的主机名,默认值:localhost由于Stateful Functions应用由Apache Flink集群执行,可通过在应用镜像中捆绑Flink配置文件flink-conf.yaml来配置Flink进程(JobManagers和TaskManagers),文件路径为$FLINK_HOME/conf/flink-conf.yaml。
查看完整的Apache Flink配置项了解所有可用设置。
基础镜像使用的默认端口:
80816123(运行应用主节点时)6122(运行应用工作节点时)6121(运行应用工作节点时)本仓库位于github.com/apache/flink-statefun-docker,由Apache Flink社区成员维护。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429