如何在 Flink 集群部署 Alink?

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

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

在 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?_第1张图片

在 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

原文链接:https://developer.aliyun.com/article/769048?

版权声明:本文中所有内容均属于阿里云开发者社区所有,任何媒体、网站或个人未经阿里云开发者社区协议授权不得转载、链接、转贴或以其他方式复制发布/发表。申请授权请邮件[email protected],已获得阿里云开发者社区协议授权的媒体、网站,在转载使用时必须注明"稿件来源:阿里云开发者社区,原文作者姓名",违者本社区将依法追究责任。 如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:[email protected] 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

你可能感兴趣的:(Kubernetes,Java,流计算,Docker,Python,容器)