记一次Flink任务无限期INITIALIZING排查过程

1.前言

环境:Flink-1.16.1,部署模式:Flink On YARN,现象:Flink程序能正常提交到 YARN,Job状态是 RUNNING,而 Task状态一直处于 INITIALIZING,如下图:
在这里插入图片描述

通过界面可以看到 flink任务一直没有执行,处于初始化状态,观察到初始化状态最长可持续 10几个小时。


补充:Flink On YARN模式如何打开 Flink任务监控页面。首先,打开 YARN任务管理界面(默认 8088端口),找到运行中的 flink任务,点击下图中的 ApplicationMaster即可。
在这里插入图片描述

2.通过大模型获取问题排查思路

笔者:Source: kafkaReader_3 -> router_4 -> (Sink: rdbWriter_6, Sink: kafkaWriter_8) 状态 INITIALIZING的原因

GPT:

在 Flink 中,INITIALIZING 状态表示作业的一个任务(task)正在初始化。具体到你提供的例子,Source: kafkaReader_3 -> router_4 -> (Sink: rdbWriter_6, Sink: kafkaWriter_8) 是一个任务链,包括一个 Kafka 数据源(kafkaReader_3)、一个数据处理算子(router_4),以及两个数据汇(Sink: rdbWriter_6 和 Sink: kafkaWriter_8)。当任务启动时,它会经历一系列的状态转换,其中之一就是 INITIALIZING。这个状态表示任务正在进行初始化操作,例如创建连接、加载配置、准备资源等。在初始化完成后,任务会进入 RUNNING 状态,开始正常的数据处理和计算。需要注意的是,INITIALIZING 状态只是任务的一个瞬时状态,表示任务正在初始化过程中。如果任务长时间停留在 INITIALIZING 状态,可能存在初始化过程出现问题的情况,例如资源不足、连接失败等。在正常情况下,任务应该尽快从 INITIALIZING 状态转移到 RUNNING 状态以继续执行数据处理逻辑。因此,如果你的任务一直停留在 INITIALIZING 状态,建议检查相关的日志以了解初始化过程中是否发生了错误或异常。同时,还可以检查资源分配、网络连接等因素,以确保任务能够成功初始化并转移到 RUNNING 状态。

3.检查 YARN资源

打开 YARN任务监控页面,左侧 Nodes页面可以查看集群可用的计算节点个数,Scheduler页面可以看到队列资源占用情况,以及CPU和内存占用情况。

4.查看 JobManager和 TaskManager的日志

查看日志有两种方式:

  • 通过 flink任务监控页面

  • 通过 登录计算节点所在服务器

    ll /home/yarn_data/log/application_1708676775521_0024/container_e07_1708676775521_0024_01_000002-rw-r--r-- 1 yarn ocdp  8907 Mar  7 11:41 directory.info
    -rw-r--r-- 1 yarn ocdp 18796 Mar  7 15:42 gc.log.0.current
    -rw-r----- 1 yarn ocdp 15772 Mar  7 11:41 launch_container.sh
    -rw-r--r-- 1 yarn ocdp     0 Mar  7 11:41 prelaunch.err
    -rw-r--r-- 1 yarn ocdp   100 Mar  7 11:41 prelaunch.out
    -rw-r--r-- 1 yarn ocdp  1270 Mar  7 11:41 taskmanager.err
    -rw-r--r-- 1 yarn ocdp 71955 Mar  7 11:46 taskmanager.log
    -rw-r--r-- 1 yarn ocdp 66686 Mar  7 11:46 taskmanager.out
    

5.查看 Flink程序堆栈信息

通过 flink任务监控页面查看 Thread Dump,如下图:

在这里插入图片描述

这里我把关键部分堆栈摘抄下来了:

{"threadName": "Source: kafkaReader_3 -> router_4 -> (Sink: rdbWriter_6, Sink: kafkaWriter_8) (1/1)#0","stringifiedThreadInfo": "\"Source: kafkaReader_3 -> router_4 -> (Sink: rdbWriter_6, Sink: kafkaWriter_8) (1/1)#0\" Id=72 WAITING on java.util.concurrent.CountDownLatch$Sync@6792895f\n\tat sun.misc.Unsafe.park(Native Method)\n\t-  waiting on java.util.concurrent.CountDownLatch$Sync@6792895f\n\tat java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)\n\tat java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)\n\tat java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)\n\tat java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)\n\tat java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)\n\tat org.apache.kafka.clients.producer.internals.TransactionalRequestResult.await(TransactionalRequestResult.java:50)\n\tat org.apache.kafka.clients.producer.KafkaProducer.initTransactions(KafkaProducer.java:569)\n\t...\n\n"
}

这里主要就是看线程名称为 任务名称的,比如这里就是:

Source: kafkaReader_3 -> router_4 -> (Sink: rdbWriter_6, Sink: kafkaWriter_8)

可以看到笔者编写的 flink程序阻塞的原因是:initTransactions,在初始化事务。

6.总结

如果碰到了 flink程序长时间处于初始化状态,比较可行的排查思路是:检查YARN计算资源查看 JobManager和 TaskManager的日志查看 flink程序堆栈信息。另外,可以把问题的尽量描述清楚,让大模型来分析可能的原因,并提供排查思路。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/271272.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ue4.27 发现 getRandomReachedLocation 返回 false

把这个玩意儿删掉,重启工程,即可 如果还不行 保证运动物体在 volum 内部,也就是绿色范围内确保 project setting 里面的 navigation system 中 auto create navigation data 是打开的(看到过博客说关掉,不知道为啥) 如果还不行&…

智奇科技工业 Linux 屏更新开机logo

智奇科技工业 Linux 屏更新开机logo 简介制作logo.img文件1、转换格式得到logo.bmp2、使用Linux命令生成img文件 制作rootfs.img文件替换rootfs.img中的logo 生成update.img固件附件 简介 智奇科技的 Linux 屏刷开机logo必须刷img镜像文件,比较复杂。 制作logo.i…

深入浅出(二)MVVM

MVVM 1. 简介2. 示例 1. 简介 2. 示例 示例下载地址:https://download.csdn.net/download/qq_43572400/88925141 创建C# WPF应用(.NET Framework)工程,WpfApp1 添加程序集 GalaSoft.MvvmLight 创建ViewModel文件夹,并创建MainWindowV…

通过对话式人工智能打破语言障碍

「AI突破语言障碍」智能人工智能如何让全球交流无障碍 在当今互联的世界中,跨越语言界限进行交流的能力比以往任何时候都更加重要。 对话式人工智能(包括聊天机器人和语音助手等技术)在打破这些语言障碍方面发挥着关键作用。 在这篇博文中&am…

简站wordpress主题看上去差不多 实际大不一样

有人说简站wordpress主题,都差不多嘛。我表示无语。表面看上去是差不多的,实际的细节是不一样的。 下面以编号:JZP4431和编号:JZP4878这两个主题为例子来讲一下,简站wordpress主题,在细节方面的不一样之处…

【观察】华为:加速行业智能化,正在“走深向实”

毫无疑问,犹如历史上蒸汽机、电力、计算机和互联网等通用技术一样,近20年来,人工智能正以史无前例的速度和深度改变着人类社会和经济,为释放人类创造力和行业生产力,以及促进经济增长都提供了巨大的机会。 根据高盛报告…

字符串函数和内存函数

文章目录 字符串函数strlen函数模拟实现 strcpy函数模拟实现 strcat函数使用模拟实现 strcmp函数使用模拟实现 strncpy函数使用模拟实现 strstr函数使用模拟实现 strtok函数使用 strerror函数使用 内存函数memset函数使用memcmp函数memcpy函数使用模拟实现 memmove函数使用模拟…

【深度优先】【图论】【C++算法】2045. 到达目的地的第二短时间

作者推荐 视频算法专题 LeetCode2045. 到达目的地的第二短时间 城市用一个 双向连通 图表示,图中有 n 个节点,从 1 到 n 编号(包含 1 和 n)。图中的边用一个二维整数数组 edges 表示,其中每个 edges[i] [ui, vi] 表…

HCIP---IS-IS协议

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 一.IS-IS协议概述 IS-IS是一种基于链路状态的内部网关协议(IGP),它使用最短路径优先算法(SPF或Dijkstra)进行路由计算。这种协议在自治…

[密码学]入门篇——加密方式

一、概述 加密方法主要分为两大类: 单钥加密(private key cryptography):加密和解密过程都用同一套密码双钥加密(public key cryptography):加密和解密过程用的是两套密码 历史上&#xff0c…

u盘里文件损坏无法打开怎么恢复?这样操作更简单

U盘已经成为我们传输和存储数据的重要工具。然而有时候我们可能会遇到U盘里的文件损坏无法识别的情况,这无疑给我们的工作和学习带来了不小的困扰。 那么面对这种情况应该如何应对呢?本文将为你介绍个实用的恢复方法,帮助你轻松解决U盘文件损…

【洛谷 P8662】[蓝桥杯 2018 省 AB] 全球变暖 题解(深度优先搜索+位集合)

[蓝桥杯 2018 省 AB] 全球变暖 题目描述 你有一张某海域 N N N \times N NN 像素的照片,. 表示海洋、 # 表示陆地,如下所示: ....... .##.... .##.... ....##. ..####. ...###. .......其中 “上下左右” 四个方向上连在一起的一片陆地组…

机器学习-面经

经历了2023年的秋招,现在也已经入职半年了,空闲时间将面试中可能遇到的机器学习问题整理了一下,可能答案也会有错误的,希望大家能指出!另外,不论是实习,还是校招,都祝福大家能够拿到…

国内哪个工具可以平替chatgpt?国内有哪些比较好用的大模型gpt?

我自己试用了很多的平台,发现三个比较好的大模型平台,对普通用户也比较的友好的,而且返回内容相对来说,正确率更高的,并且相关场景插件比较丰富的国内厂商。 本文说的,是我自己觉得的,比较有主观…

蓝桥杯-排序

数组排序 Arrays.sort(int[] a) 这种形式是对一个数组的所有元素进行排序,并且时按从小到大的顺序。 package Work;import java.util.*;public class Imcomplete {public static void main(String args[]) {int arr[]new int [] {1,324,4,5,7,2};Arrays.sort(arr)…

第一次捡垃圾

配置 cpu e3 1225 v6 淘宝 130 显卡 p106-100(1060矿卡的特称) 咸鱼 118 内存 8g 3200频率 2 咸鱼 702140 硬盘 128g 固态 咸鱼 35 主板 ex-b150m-v3 咸鱼 110 电源 400w 咸鱼 58 4热管cpu散热器 咸鱼 28 机箱 迷你 拼多多 28 电源线 1m5 淘宝 8 pcie转m.2 拼多多 9 编程器 用…

NineData与OceanBase完成产品兼容认证,共筑企业级数据库新生态

近日,云原生智能数据管理平台 NineData 和北京奥星贝斯科技有限公司的 OceanBase 数据库完成产品兼容互认证。经过严格的联合测试,双方软件完全相互兼容、功能完善、整体运行稳定且性能表现优异。 此次 NineData 与 OceanBase 完成产品兼容认证&#xf…

搜维尔科技:3D Systems Geomagic Design X 逆向工程软件

产品概述 3D Systems Geomagic Design X 是全面的逆向工程软件 GeomagicoDesign XTM是全面的逆向工程软件,它结合了基于特征的CAD数模与三维扫描数据处理,使您能创建出可编辑、基于特征的CAD数模,并与您现有的CAD软件兼容。 拓展您的设计能…

ElasticSearch开篇

1.ElasticSearch简介 1.1 ElasticSearch(简称ES) Elasticsearch是用Java开发并且是当前最流行的开源的企业级搜索引擎。能够达到实时搜索,稳定,可靠,快速,安装使用方便。 1.2 ElasticSearch与Lucene的关…