zoukankan      html  css  js  c++  java
  • 【flink】flink1.12 application mode on k8s

    补充上一篇没有讲到的内容。

    k8s节点之间的通信

    k8s有一个名为kube-apiserver的进程,该进程运行在Master上。这个进程提供了一个rest服务,所有的操作例如pod、service的增删改查watch的操作都是基于此接口执行的。agent机器上的kubectl其实也是基于该rest接口操作的。所以其实无论spark还是flink,它的命令提交都是通过http的方式去提交指令的。这意味着启动flink和spark的client不需要k8s的master或者agent上运行。在目前使用的库上,flink和spark都是先去~/.kube里面去找认证文件,然后通过http的方式携带认证提交命令的。

    flink on k8s简单原理

    flink client会创建一个deployment,该deployment会创建jobmanager和一个rest用于访问的页面。然后会挂载一个configMap,该configMap中包含了提交任务的命令和提交任务的client的conf里面相关内容。

    deployment创建jobmanager的pod,然后根据configMap在jobmanager的pod启动taskmanager的pod。整个机制大概是这样的

    日志回收问题

    按照官方说法,为了节省资源,tm在运行完成之后,所在pod会被直接销毁。

    所以简单的方式是将flink的log方式改为logback,默认是log4j。然后追加es或者kafka的appender

    这里操作比较复杂,需要删除原本镜像的log4j包。

     由于项目过去一段时间,具体操作未及时更新,后面再补。

    以上

  • 相关阅读:
    积累-T
    HTML:文件标签(四)
    HTML:文件标签(三)
    HTML:文件标签(二)
    队列:最近的请求次数 (Leetcode 933 / Leetcode 232 / 剑指09 / Leetcode 225 / Leetcode 862 )
    HTML:文件标签(一)
    HTML: 介绍 & 规范
    java.sql.SQLException: Access denied for user 'root '@'localhost' (using password: YES)
    JDBC和XML- 学习笔记
    数据库: 商城案例
  • 原文地址:https://www.cnblogs.com/zhouwenyang/p/15123588.html
Copyright © 2011-2022 走看看