生成 docker鏡像
-
下載鏈接中的配置文件
參考:
https://github.com/apache/flink/tree/release-1.8/flink-container/docker
image.png 首先將用戶jar包下載下來到本地,如 WorkCount.jar
將flink 安裝包下載下來,或者配置好配置文件后達成tgz文件
執行如下命令則生成 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
其他
- 相關問題:standalone flink on k8s 部署問題
- 不同版本執行的執行的命令略有不同,具體的還是看github鏈接上的命令,本文中使用的是1.8版本