JermeryBesian 2023-10-10 15:29 采纳率: 50%
浏览 26
已结题

flink on k8s任务执行后只有.log文件,没有.err和.out文件

Flink 1.12.7版本在k8s上运行时,默认的本地flink路径下只有jobmanager.log或taskmanager.log日志。在原先我部署在yarn上执行时,会有jobmanager.log、jobmanager.err、jobmanager.out三个日志,我想知道是什么问题。
摸索一番,看了源码之后发现,在flink runtime项目下的Bootstrap类下,有一个getTaskManagerShellCommand方法
该方法下好像配置了启动命令,里面有一段代码:

startCommandValues.put(
                "redirects",
                "1> "
                        + logDirectory
                        + "/taskmanager.out "
                        + "2> "
                        + logDirectory
                        + "/taskmanager.err");

将标准输出重定向到指定的日志目录下的 taskmanager.out 文件中,将标准错误输出重定向到指定的日志目录下的 taskmanager.err文件中。进一步地发现,在flink yarn项目的Utils类中,有一个createTaskExecutorContext方法,在该方法中调用了上面的getTaskManagerShellCommand方法获取launchCommand,并且在debug模式下,可以打印出该launchCommand,我打印后如下所示:

img


是有一个将标准输出和标准错误输出重定向的命令。

但是当将flink部署到k8s中时,因为在k8s中源码中没有上面的log debug日志打印,同时,我在flink kubernetes项目下的KubernetesUtils方法中,也发现了相应的getCommonStartCommand方法,但是在该方法中,flink1.11版本是有上面的重定向命令语句的,但是到了1.12版本之后我发现,这段命令没有了?
是因为flink 1.12版本后没有了这个重定向命令导致部署到k8s时,只有一个.log文件,而没有.err和.out文件吗?

有没有人遇到过类似的问题?恳请各位发表观点

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-10-10 19:41
    关注

    【以下回答由 GPT 生成】

    在Flink 1.12版本后,确实移除了重定向命令,因此在k8s上运行Flink任务时只会生成.log文件,而不会生成.err和.out文件。这是Flink团队在版本更新中做出的更改。

    如果你希望在k8s上运行Flink任务时生成.err和.out文件,可以通过以下方法来实现:

    1. 在启动任务时,通过kubectl命令配置kubectl日志输出。
    2. 使用kubectl logs命令可以获取jobmanager和taskmanager的日志输出。例如:kubectl logs <pod_name> -c <container_name> > taskmanager.out
    3. 这样可以将日志输出到指定的文件中。

    4. 使用k8s的Logging Operator来收集Flink任务的日志输出。

    5. 可以使用如EFK(Elasticsearch + Fluentd + Kibana)或ELK(Elasticsearch + Logstash + Kibana)等日志收集方案。这些方案可以帮助你收集和查询Flink任务的日志。
    6. 在k8s集群中部署上述方案的Operator,并配置相应的日志收集规则,将Flink任务的日志输出到指定的位置。

    以上是两种常见的解决方案,可以根据具体需求选择其中一种或结合使用。请注意,这些解决方案并不是直接修改Flink源代码,而是通过配置k8s环境来实现日志的收集和查询。

    希望以上解决方案对你有帮助。如果还有其他问题,请随时提问。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月20日
  • 已采纳回答 10月12日
  • 创建了问题 10月10日

悬赏问题

  • ¥15 STM32F103上电短路问题
  • ¥15 关于#单片机#的问题:以ATMEGA128或相近型号单片机为控制器设计直流电机调速的闭环控制系统(相关搜索:设计报告|软件设计|流程图)
  • ¥15 打开软件提示错误:failed to get wglChoosePixelFormatARB
  • ¥15 (标签-python|关键词-char)
  • ¥15 python+selenium,在新增时弹出了一个输入框
  • ¥15 苹果验机结果的api接口哪里有??单次调用1毛钱及以下。
  • ¥20 学生成绩管理系统设计
  • ¥15 来一个cc穿盾脚本开发者
  • ¥15 CST2023安装报错
  • ¥15 使用diffusionbert生成文字 结果是PAD和UNK怎么办