大數據

如何在 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 包。

1.jpg

在 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技術交流可釘釘掃描下方二維碼加入交流群:

Alink 開源用戶群.jpg

Leave a Reply

Your email address will not be published. Required fields are marked *