standalone flink on k8s 教程—— Application Mode

生成 docker鏡像

  1. 下載鏈接中的配置文件
    參考:
    https://github.com/apache/flink/tree/release-1.8/flink-container/docker

    image.png

  2. 首先將用戶jar包下載下來到本地,如 WorkCount.jar

  3. 將flink 安裝包下載下來,或者配置好配置文件后達成tgz文件

  4. 執行如下命令則生成 flink-job:latest的docker鏡像

sh build.sh --job-jar WordCount.jar --from-archive flink-1.8.0-bin-scala_2.11.tgz

創建standalone flink 任務集群

1.下載鏈接中的配置文件到本地
參考:
https://github.com/apache/flink/tree/release-1.8/flink-container/kubernetes

image.png

2.執行下面的命令:

(1) 創建service

kubectl create -f job-cluster-service.yaml

(2) 創建jobmanager

FLINK_IMAGE_NAME=flink-job:latest FLINK_JOB_PARALLELISM=1 envsubst < job-cluster-job.yaml.template | kubectl create -f -

注意: 這里的FLINK_JOB_PARALLELISM 是指flink-job的并行度

(3)創建taskmanager

FLINK_IMAGE_NAME=flink-job:latest FLINK_JOB_PARALLELISM=1 envsubst < task-manager-deployment.yaml.template | kubectl create -f -

注意: 這里的FLINK_JOB_PARALLELISM 指的是taskmanager的個數

執行結果如下:


flink on k8s執行步驟

最后:
登錄ip:30081即可查看flink頁面

刪除任務

任務執行結束,jobmanager是completed,而taskmanager因為是deployment,所以還是Running狀態。因此需要手動深處任務。

kubectl delete job flink-job-cluster
kubectl delete deployment flink-task-manager
kubectl delete service flink-job-cluster

其他

  1. 相關問題:standalone flink on k8s 部署問題
  2. 不同版本執行的執行的命令略有不同,具體的還是看github鏈接上的命令,本文中使用的是1.8版本
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。