Flink Stateful Functions中文文档
  • Home
  • Getting Started
    • 项目设置
    • Python演练
    • Java演练
  • 概念
    • 应用程序构建块
    • 逻辑函数
    • 分布式架构
  • 开发包
    • Java
    • Python
    • 模块(Module)
  • I/O模块
    • 总览
    • Apache Kafka
    • AWS Kinesis
    • Flink连接器
  • 部署与运营
    • 总览
    • 打包部署
    • 配置
    • 指标
    • 状态引导
Powered by GitBook
On this page
  • 镜像
  • Flink Jar

Was this helpful?

  1. 部署与运营

打包部署

Previous总览Next配置

Last updated 5 years ago

Was this helpful?

有状态功能应用程序可以打包为独立应用程序或可以提交到集群的Flink作业。

镜像

对于有状态功能应用程序,建议的部署模式是构建Docker镜像。这样,用户代码不需要打包任何Apache Flink组件。提供的基本镜像使团队可以快速将其应用程序打包为具有所有必需的运行时依赖项。

以下是一个示例Dockerfile,用于为一个名为statefun-example的应用程序同时构建一个包含和的有状态功能镜像。

FROM flink-statefun:2.0.0

RUN mkdir -p /opt/statefun/modules/statefun-example
RUN mkdir -p /opt/statefun/modules/remote

COPY target/statefun-example*jar /opt/statefun/modules/statefun-example/
COPY module.yaml /opt/statefun/modules/remote/module.yaml

Flink Jar

如果希望打包成作业提交给现有的Flink集群,只需将其statefun-flink-distribution作为对应用程序的依赖即可。

<dependency>
	<groupId>org.apache.flink</groupId>
	<artifactId>statefun-flink-distribution</artifactId>
	<version>2.0.0</version>
</dependency>

它包括所有有状态功能的运行时依赖项,并配置应用程序的主要入口点。

./bin/flink run -c org.apache.flink.statefun.flink.core.StatefulFunctionsJob ./statefun-example.jar

要运行StateFun应用程序,必须严格执行以下配置。

classloader.parent-first-patterns.additional: org.apache.flink.statefun;org.apache.kafka;com.google.protobuf

注意:该发行版必须捆绑在您的应用程序fat JAR中,以便于它在Flink的

嵌入式模块
远程模块
用户代码类加载器上