ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

flink on native k8s by application mode

2022-06-02 17:32:19  阅读:156  来源: 互联网

标签:Dkubernetes 编辑 -- flink application xx k8s


 flink1.13于5月4日发布,版本迭代之快,更是体现了其势不可挡的发展速度。社区活跃度逐步攀升,当然少不了与云原生等技术的集成。 本文主要讲解flink的原生k8s application模式部署步骤,原生k8本质上是flink内部集成了k8s,能够做到Taskmanager的弹性伸缩。

​编辑

而之所以采用application模式部署,是因其规避了session模式的资源隔离问题、per-job模式的集群生命周期问题,以及两者共同的客户端资源消耗问题,也因其显著优点被广泛用于生产环境。

​编辑

​编辑

1.准备

  • Kubernetes版本大于等于1.9。
  • 可以访问列表,创建,删除容器和服务,可以通过进行配置`~/.kube/config`。您可以通过运行来验证权限`kubectl auth can-i <list|create|edit|delete> pods`。
  • 启用Kubernetes DNS。
  • RBAC:default service account 具有创建,删除Pod的权限。
kubectl create clusterrolebinding flink-role --clusterrole=edit --serviceaccount=namespacwe:default

2. Flink镜像制作及推送

dockerfile如下:

FROM flink:1.12
COPY dataprocess-0.0.1-SNAPSHOT.jar $FLINK_HOME/

​编辑

​编辑

3.部署flink client(client上云)

​编辑

4.部署jobmanager、taskmanager

进入flink-client pod内部

​编辑

执行如下命令:

flink run-application \
--target kubernetes-application \
-Dkubernetes.namespace=xxx \
-Dkubernetes.cluster-id=jobmanager-application \
-Dkubernetes.rest-service.exposed.type=NodePort \
-Dkubernetes.container.image=10.4.xx.xx/library/flink:dhf \
-Dkubernetes.container.image.pull-policy=Always local:///opt/flink/dataProcess-0.0.1-SNAPSHOT-jar-with-dependencies.jar \
--kafkaBroker "192.168.xx.xx:9092,192.xx.xx.227:9093,192.168.xx.xx:9094" \
--kafkaSchemaTopic connector9 \
--kafkaDataTopics "connector9.dhf1.tab1,connector9.dhf1.test" 

最后三行为向jar包传的自定义参数

​编辑

执行命令后会自动 1个jobmanager、1个或多个taskmanager。

​编辑

5.程序监控

jobmanager、taskmanager均有日志输出用于查看程序执行进程。

​编辑

​编辑

也可通过k8s master节点ip加上图中暴露的端口7447访问flink dashboard.

​编辑


关注公众号后台回复flinkclient即可获得部署文件,添加作者微信,一起讨论更多。

​编辑

标签:Dkubernetes,编辑,--,flink,application,xx,k8s
来源: https://www.cnblogs.com/dhavin/p/16338500.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有