
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这段话即可:
请先阅读并遵守:https://xuanyuan.cloud/agents.md
未读文档前不要生成 pull 命令或排错方案。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Apache Flink Stateful Functions是一个API,旨在简化分布式有状态应用的构建,其运行时专为无服务器架构设计。它融合了有状态流处理的优势——以低延迟和有限资源约束处理大型数据集,同时提供一个用于建模有状态实体的运行时,支持位置透明性、并发性、可扩展性和弹性。
了解更多关于Stateful Functions的信息,请访问https://flink.apache.org/stateful-functions.html。
适用于需要构建分布式有状态应用的场景,特别适合无服务器架构环境。适用于要求低延迟数据处理、资源高效利用,同时需要高并发、可扩展和弹性的应用开发,如实时数据处理、事件驱动应用、流处理服务等。
Stateful Functions应用的推荐部署方式是基于此基础镜像构建Docker镜像,这样用户代码无需打包任何Apache Flink或Stateful Functions组件。
该基础镜像允许快速打包包含所有必要运行时依赖的应用。
以下是构建Stateful Functions应用镜像的Dockerfile示例,包含https://ci.apache.org/projects/flink/flink-statefun-docs-stable/sdk/modules.html#embedded-module和https://ci.apache.org/projects/flink/flink-statefun-docs-stable/sdk/modules.html#remote-module,应用名为`my-statefun-app`:
DockerfileFROM docker.xuanyuan.run/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或Worker节点
可通过以下命令运行应用的master节点:
console$ docker run -e "ROLE=master" -e "MASTER_HOST=localhost" -d -t my-statefun-app
随后,可运行worker节点:
console$ docker run -e "ROLE=worker" -e "MASTER_HOST=localhost" -d -t my-statefun-app
使用Docker Compose运行集群
通过Docker Compose可部署完整的Stateful Functions应用集群:
ymlversion: "2.1" services: master: image: docker.xuanyuan.run/my-statefun-app expose: - "6123" ports: - "8081:8081" environment: - ROLE=master - MASTER_HOST=master worker: image: docker.xuanyuan.run/my-statefun-app expose: - "6121" - "6122" depends_on: - master links: - "master:master" environment: - ROLE=worker - MASTER_HOST=master
启动集群:
console$ docker-compose up
扩展集群至N个worker节点:
console$ docker-compose scale worker=<N>
可在https://github.com/apache/flink-statefun/tree/master/statefun-examples/statefun-greeter-example找到基于Docker Compose的Stateful Functions应用完整示例。
命令行参数
运行master节点时常用的命令行参数:
-s, --fromSavepoint: 恢复应用的https://ci.apache.org/projects/flink/flink-docs-stable/ops/state/savepoints.html路径-p, --parallelism: 应用运行的并行度环境变量
ROLE: 运行角色,可选master(主节点)或worker(工作节点),默认值:workerMASTER_HOST: 应用主节点的主机名,默认值:localhost配置Flink进程
由于Stateful Functions应用由https://flink.apache.org/集群执行,可通过在应用镜像中捆绑Flink配置文件`flink-conf.yaml`来配置Flink进程(JobManagers和TaskManagers),文件路径为`$FLINK_HOME/conf/flink-conf.yaml`。
查看完整的https://ci.apache.org/projects/flink/flink-docs-stable/ops/config.html了解所有可用设置。
默认端口
基础镜像使用的默认端口:
80816123(运行应用主节点时)6122(运行应用工作节点时)6121(运行应用工作节点时)本仓库位于https://github.com/apache/flink-statefun-docker,由Apache Flink社区成员维护。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务