【flink配置系列】flink jobmanager-session-deployment-ha.yaml 功能源码用法详解

FlinkJobManagerHAKubernetesDeploymentConfigurationwith中文注解
这篇文章详细解释了jobmanager-session-deployment-ha.yaml配置文件,用于在Kubernetes上部署FlinkJobManager的高可用模式,包括设置副本数、容器配置、环境变量、端口映射、活跃探测和ConfigMap的使用。

jobmanager-session-deployment-ha.yaml

配置文件主要功能

这个配置文件是用于部署 Flink JobManager 的 Kubernetes Deployment。在高可用(HA)模式下,使用该配置文件可以创建一个 JobManager 实例。

  • 定义了一个名为 flink-jobmanager 的 Deployment。
  • 设置副本数为 1,可以根据需要将其设置为大于 1 以启动备用的 JobManager。
  • 使用标签选择器 app: flinkcomponent: jobmanager 来匹配对应的 Pod。
  • 在 Pod 模板中定义了一个名为 jobmanager 的容器,使用 apache/flink:latest 镜像。
  • 通过环境变量 POD_IP 获取 Pod 的 IP 地址,并在启动参数中将 jobmanager.rpc.address 的值覆盖为 $(POD_IP)
  • 将容器的三个端口映射到相应的容器端口:6123(RPC)、6124(Blob Server)和 8081(Web UI)。
  • 配置了一个活跃探测(liveness probe),通过 TCP Socket 探测容器的 6123 端口,延迟 30 秒后开始探测,每 60 秒进行一次探测。
  • 挂载名为 flink-config-volume 的卷到容器的 /opt/flink/conf 目录,该卷来自 ConfigMap flink-config 中的两个文件。
  • 设置容器的安全上下文,将容器的用户 ID 设置为 9999(根据官方 flink 镜像的用户 _flink_),如果需要可以进行更改。
  • 指定了 flink-service-account 作为 Service Account,该 Service Account 具有创建、编辑和删除 ConfigMaps 的权限。

配置文件加上中文注释

apiVersion: apps/v1
kind: Deployment
metadata:
  name: flink-jobmanager   # Deployment 的名称
spec:
  replicas: 1             # 设置副本数为 1,可以根据需要设置大于 1 以启动备用的 JobManager
  selector
任务开始 (LeoUtils.scala:336)----------getKafkaProperties:{kafka_principle=qyjlczx/hadoop.8f0bd78e_ac4b_493a_a734_9cff80ae3dab.com@8F0BD78E_AC4B_493A_A734_9CFF80AE3DAB.COM, bootstrap.servers=25.213.25.173:21007,25.213.25.47:21007,25.213.24.58:21007,25.213.24.111:21007,25.213.25.249:21007,25.213.25.30:21007, group.id=SUPPLYVOLTAGE_BUSBAR_IMIATE_SUBID_1, sasl.kerberos.service.name=kafka, kerberos.domain.name=hadoop.8f0bd78e_ac4b_493a_a734_9cff80ae3dab.com, security.protocol=SASL_PLAINTEXT} 17:49:10.430 [main] ERROR org.apache.flink.client.cli.CliFrontend - Error while running the command. org.apache.flink.client.program.ProgramInvocationException: The main method caused an error: Could not deploy Yarn job cluster. at org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:366) ~[flink-dist_2.11-1.12.2-hw-ei-312091.jar:1.12.2-hw-ei-312091] at org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:219) ~[flink-dist_2.11-1.12.2-hw-ei-312091.jar:1.12.2-hw-ei-312091] at org.apache.flink.client.ClientUtils.executeProgram(ClientUtils.java:114) ~[flink-dist_2.11-1.12.2-hw-ei-312091.jar:1.12.2-hw-ei-312091] at org.apache.flink.client.cli.CliFrontend.executeProgram(CliFrontend.java:842) ~[flink-dist_2.11-1.12.2-hw-ei-312091.jar:1.12.2-hw-ei-312091] at org.apache.flink.client.cli.CliFrontend.run(CliFrontend.java:246) ~[flink-dist_2.11-1.12.2-hw-ei-312091.jar:1.12.2-hw-ei-312091] at org.apache.flink.client.cli.CliFrontend.parseAndRun(CliFrontend.java:1084) ~[flink-dist_2.11-1.12.2-hw-ei-312091.jar:1.12.2-hw-ei-312091] at com.huawei.bigdata.job.action.FlinkClient.lambda$flinkClientSubmit$0(FlinkClient.java:64) ~[executor-job-flink-1.0.jar:?] at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_372] at javax.security.auth.Subject.doAs(Subject.java:422) [?:1.8.0_372] at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1761) [flink-dist_2.11-1.12.2-hw-ei-312091.jar:1.12.2-hw-ei-312091] at org.apache.flink.runtime.security.contexts.HadoopSecurityContext.runSecured(HadoopSecurityContext.java:41) [flink-dist_2.11-1.12.2-hw-ei-312091.jar:1.12.2-hw-ei-312091] at com.huawei.bigdata.job.action.FlinkClient.flinkClientSubmit(FlinkClient.java:64) [executor-job-flink-1.0.jar:?] at com.huawei.bigdata.job.action.FlinkMain.runJob(FlinkMain.java:200) [executor-job-flink-1.0.jar:?] at com.huawei.bigdata.job.action.LauncherMain.submit(LauncherMain.java:93) [executor-job-core-1.0.jar:?] at com.huawei.bigdata.job.action.LauncherMain.run(LauncherMain.java:49) [executor-job-core-1.0.jar:?] at com.huawei.bigdata.job.action.FlinkMain.main(FlinkMain.java:108) [executor-job-flink-1.0.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_372] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_372] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_372] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_372] at com.huawei.bigdata.job.LauncherAM.run(LauncherAM.java:126) [executor-job-core-1.0.jar:?] at com.huawei.bigdata.job.LauncherAM$1.run(LauncherAM.java:105) [executor-job-core-1.0.jar:?] at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_372] at javax.security.auth.Subject.doAs(Subject.java:422) [?:1.8.0_372] at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1761) [flink-dist_2.11-1.12.2-hw-ei-312091.jar:1.12.2-hw-ei-312091] at com.huawei.bigdata.job.LauncherAM.main(LauncherAM.java:101) [executor-job-core-1.0.jar:?] Caused by: org.apache.flink.client.deployment.ClusterDeploymentException: Could not deploy Yarn job cluster. at org.apache.flink.yarn.YarnClusterDescriptor.deployJobCluster(YarnClusterDescriptor.java:482) ~[flink-dist_2.11-1.12.2-hw-ei-312091.jar:1.12.2-hw-ei-312091] at org.apache.flink.client.deployment.executors.AbstractJobClusterExecutor.execute(AbstractJobClusterExecutor.java:81) ~[flink-dist_2.11-1.12.2-hw-ei-312091.jar:1.12.2-hw-ei-312091] at org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.executeAsync(StreamExecutionEnvironment.java:1968) ~[flink-dist_2.11-1.12.2-hw-ei-312091.jar:1.12.2-hw-ei-312091] at org.apache.flink.client.program.StreamContextEnvironment.executeAsync(StreamContextEnvironment.java:135) ~[flink-dist_2.11-1.12.2-hw-ei-312091.jar:1.12.2-hw-ei-312091] at org.apache.flink.client.program.StreamContextEnvironment.execute(StreamContextEnvironment.java:76) ~[flink-dist_2.11-1.12.2-hw-ei-312091.jar:1.12.2-hw-ei-312091] at org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.execute(StreamExecutionEnvironment.java:1845) ~[flink-dist_2.11-1.12.2-hw-ei-312091.jar:1.12.2-hw-ei-312091] at com.nari.bmsoft.stream.hn.task.BusbarSimulateGearHnTask$.main(BusbarSimulateGearHnTask.scala:84) ~[?:?] at com.nari.bmsoft.stream.hn.task.BusbarSimulateGearHnTask.main(BusbarSimulateGearHnTask.scala) ~[?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_372] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_372] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_372] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_372] at org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:349) ~[flink-dist_2.11-1.12.2-hw-ei-312091.jar:1.12.2-hw-ei-312091] ... 25 more
最新发布
06-13
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BigDataMLApplication

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值