tencent cloud

文档反馈

日志诊断指南

最后更新时间:2023-11-07 17:54:03

    日志说明

    流计算 Oceanus 的日志分为启动日志运行日志两部分。
    启动日志:在流计算集群中提交用户的 SQL 或 JAR 等作业时,首先会进入生成 Flink 运行图的启动过程。这个过程中产生的日志,称为启动日志。当作业启动失败时,流计算控制台的作业名后会出现一个黄色小三角⚠️,可鼠标悬停至其上方查看说明;也可以通过日志面板,阅读报错的上下文日志。
    运行日志:当作业运行图生成完毕,则会启动 JobManager 和 TaskManager,并将运行图提交到集群进行执行,作业进入“运行中”状态。之后 JobManager 和各个 TaskManager 打印的日志称为运行日志。

    常见异常关键字

    作业失败原因

    通过 from RUNNING to FAILED 关键字可以搜索到作业崩溃的直接原因,异常栈中的 Caused by 后即为故障信息。

    是否发生过 OOM

    如果出现了 java.lang.OutOfMemoryError 关键字,说明很可能出现了 OOM 堆内存溢出。需尝试增加作业的算子并行度(CU)数和优化内存占用,避免内存泄露。

    JVM 退出等致命错误

    进程退出码通常出现在以下关键字后,可以辅助定位 JVM 或 Akka 等发生了致命错误被强制关闭等的错误。
    exit code OR shutting down JVM OR fatal OR kill OR killing
    例如,表示 ZooKeeper 连接丢失的致命错误,命中了 fatal 关键字

    快照失败(超时)

    如果出现了下列该关键字,说明快照失败,请根据原因进行进一步的分析。例如,declined 表示由于资源未到位(作业并未处于运行中)、个别算子已进入 FINISHED 状态、快照超时、快照文件不完整等原因,造成了快照的失败。
    Checkpoint was declined
    Checkpoint was canceled
    Checkpoint expired
    job has failed
    Task has failed
    Failure to finalize

    超时/失败

    下列关键字代表外部系统访问(例如 MySQL、Kafka 等)可能因为网络原因出现了超时。结果中可能会有很多配置相关的内容,请自行甄别是否是报错。例如,Kafka 的 Timeout expired while fetching topic metadata 表示初始化超时;MySQL 的 Communications link failure 表示连接中断(可能是很长时间没有数据流入,造成客户端超时)。
    java.util.concurrent.TimeoutException
    timeout
    failure
    timed out
    failed

    异常

    异常 Exception 关键字代表可能发生了异常。例如,下图某个 Flink 作业的启动日志,它因为异常而没有提交成功。搜索 Exception 关键字,可以从各级异常栈的 Caused by 中看到具体的异常:
    注意
    由于日志关键字分词的原因,并非所有含有 Exception 的日志都能搜到。

    WARN 和 ERROR 日志

    一般情况下也可以搜索所有含 WARNERROR 关键字的日志,可能有较多结果,请注意筛选过滤有价值的信息。例如, WARN 和 ERROR 报错是正常的,并不代表有错误出现。

    可忽略的报错信息

    流计算 Oceanus 日志中有一些常见的报错,不会影响作业运行,在查找问题时可以直接跳过:
    WARN org.apache.flink.core.plugin.PluginConfig - The plugins directory [plugins] does not exist.
    
    WARN org.apache.flink.shaded.zookeeper3.org.apache.zookeeper.ClientCnxn - SASL configuration failed: javax.security.auth.login.LoginException: No JAAS configuration section named 'Client' was found in specified JAAS configuration file: '/tmp/jaas-00000000.conf'. Will continue connection to Zookeeper server without SASL authentication, if Zookeeper server allows it.
    
    ERROR org.apache.flink.shaded.curator4.org.apache.curator.ConnectionState - Authentication failed
    
    WARN org.apache.hadoop.util.NativeCodeLoader - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    
    WARN org.apache.flink.kubernetes.utils.KubernetesInitializerUtils - Ship directory /data/workspace/.../shipFiles is not exists. Ignoring it.
    
    WARN org.apache.flink.configuration.GlobalConfiguration - Error while trying to split key and value in configuration file /opt/flink-1.11.0/conf/flink-conf.yaml
    
    WARN org.apache.flink.shaded.curator4.org.apache.curator.utils.ZKPaths - The version of ZooKeeper being used doesn't support Container nodes. CreateMode.PERSISTENT will be used instead.
    
    WARNING: Unable to load JDK7 types (annotations, java.nio.file.Path): no Java7 support added
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持