• 【Flink】Flink任务缺失Jobmanager日志的问题排查


    Flink任务缺失Jobmanager日志的问题排查

    问题不是大问题,不是什么代码级别的高深问题,也没有影响任务运行,纯粹因为人员粗心导致,记录一下排查的过程。

    问题描述

    一个生产环境的奇怪问题,环境是flink1.15.0 on yarn3.2.2的,研发人员反馈业务正常运行,但是最近变更算法替换新包的时候有业务异常,然后需要排查日志的时候发现没有日志,打开Jobmanager日志就会一直转圈:

    image-20231115114655046

    排查过程

    页面因为一直转圈,就看了下控制台请求,报错是404,找不到对应的日志文件

    image-20231115114855562

    image-20231115114911461

    检查了一下ApplicationMaster的启动日志,看到在容器启动的时候是有传入相关的log.file参数的,所以基本排除提交命令这块的问题:

    echo "Launching container"
    exec /bin/bash -c "$JAVA_HOME/bin/java -Xmx3462817376 -Xms3462817376 -XX:MaxMetaspaceSize=268435456 -Dlog.file="/data3/yarn/logs/userlogs/application_1667318330721_0144/container_e37_1667318330721_0144_03_000001/jobmanager.log" -Dlog4j.configuration=file:log4j.properties -Dlog4j.configurationFile=file:log4j.properties org.apache.flink.yarn.entrypoint.YarnApplicationClusterEntryPoint -D jobmanager.memory.off-heap.size=134217728b -D jobmanager.memory.jvm-overhead.min=429496736b -D jobmanager.memory.jvm-metaspace.size=268435456b -D jobmanager.memory.heap.size=3462817376b -D jobmanager.memory.jvm-overhead.max=429496736b 1> /data3/yarn/logs/userlogs/application_1667318330721_0144/container_e37_1667318330721_0144_03_000001/jobmanager.out 2> /data3/yarn/logs/userlogs/application_1667318330721_0144/container_e37_1667318330721_0144_03_000001/jobmanager.err"
    
    
    • 1
    • 2
    • 3

    image-20231115114230472

    因为这个环境早前有把flink从1.13.2升级到1.15.0的情况,又验证了一下版本是不是有问题,使用1.13.2提交一个example任务:

    /usr/local/flink/bin/flink run-application -t yarn-application     -Dtaskmanager.numberOfTaskSlots=1    -Djobmanager.memory.process.size=4096m     -Dtaskmanager.memory.process.size=6144m     -Dyarn.provided.lib.dirs="viewfs://nsX/ns7/user/flink_lib" -Dyarn.application.name="Flink-Test"    -Dyarn.flink-dist-jar="viewfs://nsX/ns7/user/flink_lib/flink-dist-1.13.2.jar"  SocketWindowWordCount.jar  --hostname localhost --port 22
    
    • 1

    你还别说真就打出日志了:

    b2d69cf3-09a8-4ebe-80fb-b7f675c17e00

    对比了一下AM的的web日志页,发现1.15启动的缺少jobmanager.log文件

    image-20231115114243742

    image-20231115114359060

    依次检查了log4j的相关配置,新旧版本也没有区别,又看了一眼提交命令,提交命令里有一个指定依赖目录的参数yarn.provided.lib.dirs,瞅一眼看看是不是有问题

    企业微信截图_17000195313617

    好嘛,看着1.13.2的依赖目录和1.15.0比差了几个log4j的包,把相应的包补齐到1.15.0的目录里,再提交任务,一切正常:

    image-20231115140549733

  • 相关阅读:
    通过elementUI学习vue
    文档对象模型 DOM ——让JS有能力和网页进行对话
    MyBatis缓存
    实用技巧:在C和cURL中设置代理服务器爬取www.ifeng.com视频
    异行星依赖管理系统显示面板与数据过滤设置
    docker容器常用命令
    JAVA电费管理系统计算机毕业设计Mybatis+系统+数据库+调试部署
    CISP全真模式测试题(二)
    js 数据 删除元素 splice
    Pandas中Series结构的切片详解以及常用技巧
  • 原文地址:https://blog.csdn.net/Meepoljd/article/details/134418848