id: run_flink title: 运行Flink作业 description: 如何与YuniKorn一起运行Flink作业 image: https://svn.apache.org/repos/asf/flink/site/img/logo/png/100/flink_squirrel_100_color.png keywords:
使用 YuniKorn 在 Kubernetes 上运行 Apache Flink 非常容易。 根据在 Kubernetes 上运行 Flink 的模式不同,配置会略有不同。
请关注 Kubernetes 设置 以获取 standalone 部署模式的细节和示例。 在这种模式下,我们可以直接在 Deployment/Job spec 中添加需要的标签(applicationId 和 queue)来使用 YuniKorn 调度器运行 flink 应用程序,以及 使用 YuniKorn 调度器运行 workloads .
请关注 原生 Kubernetes 设置 以获取原生部署模式的细节和示例。 只有 Flink 1.11 或更高版本才支持在 native 模式下使用 YuniKorn 调度程序运行 Flink 应用程序,我们可以利用两个 Flink 配置 kubernetes.jobmanager.labels
和 kubernetes.taskmanager.labels
来设置所需的标签。 例子:
./bin/kubernetes-session.sh \ -Dkubernetes.cluster-id=<ClusterId> \ -Dtaskmanager.memory.process.size=4096m \ -Dkubernetes.taskmanager.cpu=2 \ -Dtaskmanager.numberOfTaskSlots=4 \ -Dresourcemanager.taskmanager-timeout=3600000 \ -Dkubernetes.jobmanager.labels=applicationId:MyOwnApplicationId,queue:root.sandbox \ -Dkubernetes.taskmanager.labels=applicationId:MyOwnApplicationId,queue:root.sandbox
./bin/flink run-application -p 8 -t kubernetes-application \ -Dkubernetes.cluster-id=<ClusterId> \ -Dtaskmanager.memory.process.size=4096m \ -Dkubernetes.taskmanager.cpu=2 \ -Dtaskmanager.numberOfTaskSlots=4 \ -Dkubernetes.container.image=<CustomImageName> \ -Dkubernetes.jobmanager.labels=applicationId:MyOwnApplicationId,queue:root.sandbox \ -Dkubernetes.taskmanager.labels=applicationId:MyOwnApplicationId,queue:root.sandbox \ local:///opt/flink/usrlib/my-flink-job.jar