关于 Flink on K8S Deploy Job Cluster 部署问题

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

关于 Flink on K8S Deploy Job Cluster 部署问题

WeiXubin
我们打算采用 Flink on K8S Job
Cluster(perjob)的部署方式。我们使用taskmanager-job-deployment.yaml
在K8S启动taskmananger,副本数为2,每个taskMananger的solt为8。我们把TaskMananger理解为资源池,当有一个Job启动时,会根据任务情况自动分配一定数量的TaskMananger给它,当它用完时把TaskMananger归还。

当我们使用 jobmanager-job.yaml
启动Job(Job只需要一个solt)时候,发现该Job会占用这两个TaskMananger,即使其并不需要那么多solt。这导致第二个Job启动时没有可用的TaskMananger,导致资源浪费。

问题:
是否pre-job模式每次启动都是需要创建 taskmanager-job-deployment.yaml 和
jobmanager-job.yaml,然后这部分taskmananger归属于这个job,当运行完需要销毁掉
taskmanager?但这样就会导致每次都要创建和销毁taskmanager

Thanks,
Bin






--
Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: 关于 Flink on K8S Deploy Job Cluster 部署问题

caozhen


如果要使用官方的 flink on k8s的 per-job模式: [1]

per-job模式下,每次启动新的job都需要通过taskmanager-job-deployment.yaml 和
jobmanager-job.yaml创建对应的 TM、JM。
终止任务,则需要删掉对应的yaml文件,也就是终止TM、JM:
    kubectl delete -f taskmanager-job-deployment.yaml
    kubectl delete -f jobmanager-job.yaml


[1]
https://ci.apache.org/projects/flink/flink-docs-release-1.11/ops/deployment/kubernetes.html#deploy-job-cluster



--
Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re:关于 Flink on K8S Deploy Job Cluster 部署问题

hechuan
In reply to this post by WeiXubin
taskmanager-job-deployment.yaml 和 jobmanager-job.yaml 部署的时候只用启动一次服务,

后续启动实际job的时候,就占用slot,available slot就少了 当job执行完之后,slot资源就释放了,available的slot又恢复了,可以给下一次的job提供资源 如果你的slot用完了的话,那就是资源不够了,需要重新配置taskmanager-job-deployment.yaml












在 2020-11-20 15:20:58,"WeiXubin" <[hidden email]> 写道:

>我们打算采用 Flink on K8S Job
>Cluster(perjob)的部署方式。我们使用taskmanager-job-deployment.yaml
>在K8S启动taskmananger,副本数为2,每个taskMananger的solt为8。我们把TaskMananger理解为资源池,当有一个Job启动时,会根据任务情况自动分配一定数量的TaskMananger给它,当它用完时把TaskMananger归还。
>
>当我们使用 jobmanager-job.yaml
>启动Job(Job只需要一个solt)时候,发现该Job会占用这两个TaskMananger,即使其并不需要那么多solt。这导致第二个Job启动时没有可用的TaskMananger,导致资源浪费。
>
>问题:
>是否pre-job模式每次启动都是需要创建 taskmanager-job-deployment.yaml 和
>jobmanager-job.yaml,然后这部分taskmananger归属于这个job,当运行完需要销毁掉
>taskmanager?但这样就会导致每次都要创建和销毁taskmanager
>
>Thanks,
>Bin
>
>
>
>
>
>
>--
>Sent from: http://apache-flink.147419.n8.nabble.com/