Flink Cluster 常见问题之:Flink 应用资源分配问题排查思路是什么?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

Flink Cluster 常见问题之:Flink 应用资源分配问题排查思路是什么?

来自:阿里云实时计算Flink 2020-12-30 13:32:11 469 1

Flink Cluster 常见问题之:Flink 应用资源分配问题排查思路是什么?

取消 提交回答
全部回答(1)
  • Lee_tianbai
    2020-12-30 16:42:33

    如果 Flink 应用不能正常启动达到 RUNNING 状态,可以按以下步骤进行排查: 1. 需要先检查应用当前状态,根据上述对启动流程的说明,我们知道: ○ 处于 NEW_SAVING 状态时正在进行应用信息持久化,如果持续处于这个 状态我们需要检查 RM 状态存储服务(通常是 ZooKeeper 集群)是否正常; ○ 如果处于 SUBMITTED 状态,可能是 RM 内部发生一些 hold 读写锁的耗 时操作导致事件堆积,需要根据 YARN 集群日志进一步定位; ○ 如果处于 ACCEPTED 状态,需要先检查 AM 是否正常,跳转到步骤 2; ○ 如果已经是 RUNNING 状态,但是资源没有全部拿到导致 JOB 无法正常 运行,跳转到步骤 3; 2. 检查 AM 是否正常,可以从 YARN 应用展示界面(http:///cluster/app/)或 YARN 应用 REST API(http:///ws/v1/cluster/apps/)查看 diagnostics 信 息,根据关键字信息明确问题原因与解决方案: ○ Queue’s AM resource limit exceeded. 原因是达到了队列 AM 可用资 源上限,即队列的 AM 已使用资源和 AM 新申请资源之和超出了队列的 AM 资源上限,可以适当调整队列 AM 可用资源百分比的配置项:yarn. scheduler.capacity..maximum-am-resource-percent。 ○ User’s AM resource limit exceeded. 原因是达到了应用所属用户在该队 列的 AM 可用资源上限,即应用所属用户在该队列的 AM 已使用资源和 AM 新申请资源之和超出了应用所属用户在该队列的 AM 资源上限,可以适当 提高用户可用 AM 资源比例来解决该问题,相关配置项:yarn.scheduler. capacity..user-limit-factor 与 yarn.scheduler.capacity..minimum-user-limit-percent。 ○ AM container is launched, waiting for AM container to Register with RM. 大致原因是 AM 已启动,但内部初始化未完成,可能有 ZK 连接超时等 问题,具体原因需排查 AM 日志,根据具体问题来解决。 ○ Application is Activated, waiting for resources to be assigned for AM. 该信息表示应用 AM 检查已经通过,正在等待调度器分配,此时需要进行调 度器层面的资源检查,跳转到步骤 4。 3. 确认应用确实有 YARN 未能满足的资源请求:从应用列表页点击问题应用 ID 进入应用页面,再点击下方列表的应用实例 ID 进入应用实例页面,看 Total Outstanding Resource Requests 列表中是否有 Pending 资源,如 果没有,说明 YARN 已分配完毕,退出该检查流程,转去检查 AM;如果 有,说明调度器未能完成分配,跳转到步骤 4; 4. 调度器分配问题排查,YARN-9050 支持在 WebUI 上或通过 REST API 自 动诊断应用问题,将在 Hadoop3.3.0 发布,之前的版本仍需进行人工排查: ○ 检查集群或 queue 资源,scheduler 页面树状图叶子队列展开查看资源信 息:Effective Max Resource、Used Resources:(1)检查集群资源或所 在队列资源或其父队列资源是否已用完;(2)检查叶子队列某维度资源是否 接近或达到上限; ○ 检查是否存在资源碎片:(1)检查集群 Used 资源和 Reserved 资源之和占 总资源的比例,当集群资源接近用满时(例如 90% 以上),可能存在资源碎 片的情况,应用的分配速度就会受影响变慢,因为大部分机器都没有资源 了,机器可用资源不足会被 reserve,reserved 资源达到一定规模后可能 导致大部分机器资源被锁定,后续分配可能就会变慢;(2)检查 NM 可用资 源分布情况,即使集群资源使用率不高,也有可能是因为各维度资源分布不 同造成,例如 1/2 节点上的内存资源接近用满 CPU 资源剩余较多,1/2 节 点上的 CPU 资源接近用满内存资源剩余较多,申请资源中某一维度资源值 配置过大也可能造成无法申请到资源; ○ 检查是否有高优先级的问题应用频繁申请并立即释放资源的问题,这种情况 会造成调度器忙于满足这一个应用的资源请求而无暇顾及其他应用; ○ 检查是否存在 Container 启动失败或刚启动就自动退出的情况,可以查看 Container 日志 ( 包括 localize 日志、launch 日志等 )、YARN NM 日志或 YARN RM 日志进行排查。

    0 0
相关问答

5

回答

Spark 【问答合集】

社区小助手 2019-05-29 14:13:40 129442浏览量 回答数 5

38

回答

阿里官方Java代码规范标准《阿里巴巴Java开发手册》下载

管理贝贝 2017-02-10 15:14:36 79401浏览量 回答数 38

2

回答

Blink计算引擎 【精品问答集锦】

管理贝贝 2016-07-21 17:03:19 29324浏览量 回答数 2

3

回答

Kafka、ActiveMQ、RabbitMQ、RocketMQ的区别?【Java问答学堂】19期

剑曼红尘 2020-05-15 11:24:19 37041浏览量 回答数 3

1

回答

在flink集群模式下,能不能指定某个节点的solt来执行一个task?

孙goku 2019-07-01 15:19:09 116609浏览量 回答数 1

8

回答

flink sql 支持checkpoints吗?

游客izljdlkgbdwfc 2019-07-10 17:46:37 125625浏览量 回答数 8

2

回答

云效平台——基于jmeter的轻量级性能测试平台

云效平台 2016-06-08 11:27:28 29791浏览量 回答数 2

10

回答

【6.27更新】你不能错过的:阿里中间件性能挑战赛重要学习资料

凝岚 2016-04-16 15:26:05 33268浏览量 回答数 10

2

回答

Apache Flink常见问题汇总【精品问答】

黄一刀 2020-05-19 17:51:47 50928浏览量 回答数 2

54

回答

Flink Forward Asia 2021 有奖问答

阿里云实时计算Flink 2021-12-29 17:30:44 466024浏览量 回答数 54
+关注
0
文章
1008
问答
来源圈子
更多
实时计算 Flink 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于 Apache Flink 构建的企业级、高性能实时大数据处理系统,由 Apache Flink 创始团队官方出品,拥有全球统一商业化品牌,完全兼容开源 Flink API,提供丰富的企业级增值功能。
+ 订阅
相关文档: 实时计算(流计算)
问答排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载