在Flink集群部署Alink,需要部署三个Jar包(本文会有一个部分专门讲述如何获取),对于不同Flink集群环境,方式有些区别,本文主要讨论Standalone集群和Kubernetes集群。
获取集群部署所需Jar包
由于Alink可以通过Java和Python两种方式提交,建议在集群部署的时候将相关Jar包一起部署上去。Alink虽然没有单独提供集群部署Jar包的下载,但是所需Jar包与PyAlink所用的相同。所以可以从PyAlink的安装whl包中获取。具体方式如下:
一、下载PyAlink 1.10的whl包,相关链接:
链接1链接2(MD5: f92b6fcff0caea332f531f5d97cb00fe)
二、解压开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
更多内容可以参考:
在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.htmlci.apache.org