来源:https://zhuanlan.zhihu.com/p/165050101
由于 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 包。
在 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 配置项。参考: