如何在 Flink 集群部署 Alink?

作者:杨旭(品数),阿里巴巴资深技术专家

在 Flink 集群部署 Alink,需要部署三个 Jar 包(本文会有一个部分专门讲述如何获取),对于不同 Flink 集群环境,方式有些区别,本文主要讨论 Standalone 集群和 Kubernetes 集群。

获取集群部署所需 Jar 包

由于 Alink 可以通过 Java 和 Python 两种方式提交,建议在集群部署的时候将相关 Jar 包一起部署上去。Alink 虽然没有单独提供集群部署 Jar 包的下载,但是所需 Jar 包与 PyAlink 所用的相同。所以可以从 PyAlink 的安装 whl 包中获取。具体方式如下:

1.下载 PyAlink 1.10 的 whl 包,相关链接:

https://github.com/alibaba/Alink/releases/tag/v1.1.0

2.解压 PyAlink 1.10 的 whl 包

解压后的文件结构如下图所示,在 pyalink/lib 下为集群部署所需的三个 jar 包。

如何在 Flink 集群部署 Alink?

在 Standalone 集群上部署

将前面获取的三个 Jar 包拷贝到 Flink 目录下,再启动 Flink 集群即可。

  • 在 Flink 配置中增加:classloader.resolve-order: parent-first
  • 在 flink-[版本号]目录下,运行 bin/start-cluster.sh 启动集群
  • bin/taskmanager.sh start 可以增加 TM

更多内容可以参考:

https://ci.apache.org/projects/flink/flink-docs-stable/ops/deployment/cluster_setup.html

在 Kubernetes 集群上部署

将前面获取的三个 Jar 包放置进 Docker 镜像中,并将以下三个命令添加进 DockerFile,打包镜像即可。

ADD alink_connector_all-1.1-SNAPSHOT.jar $FLINK_LIB_DIR/alink_connector_all-1.1-SNAPSHOT.jar
ADD alink_core_flink-1.10_2.11-1.1-SNAPSHOT.jar $FLINK_LIB_DIR/alink_core_flink-1.10_2.11-1.1-SNAPSHOT.jar
ADD alink_python-1.1-SNAPSHOT-shaded.jar $FLINK_LIB_DIR/ alink_python-1.1-SNAPSHOT-shaded.jar

使用 Flink 官方提供的部署方式,其中增加 classloader.resolve-order: parent-first 配置项。参考:

https://ci.apache.org/projects/flink/flink-docs-stable/ops/deployment/kubernetes.html

以上分享希望对你有所帮助,了解更多 Alink 上手实践文章,更多Alink技术交流可钉钉扫描下方二维码加入交流群:

如何在 Flink 集群部署 Alink?

上一篇:Linux之文件系统自动挂载和ext文件系统结构、硬/软链接


下一篇:database.propertise