读Hudi作业长时间出于BOOTING状态怎么解决?_H3
问题原因分析
1、Yarn队列资源问题:
除去Yarn队列资源问题,一般作业是卡在执行Spark SQL读取Hudi写Hive临时表的步骤,这一步的速度取决于Hudi表的数据量与Yarn队列剩余资源。
可以通过查看Yarn任务来确认是否有资源限制的问题,搜索自己队列下的Spark JDBC Server的Yarn任务,检查其运行状态和进度。
2、数据导入前清空操作:
如果作业配置了导入前清空数据的操作,并且dws表中存量数据较多,可能会卡在truncate table
操作步骤中,默认超时时间为5分钟。
解决方法
1、检查并扩充Yarn资源:
查看当前队列的使用资源情况,包括已使用资源、最大可用资源等参数,如果发现资源不足,可以考虑扩充队列资源或停止其他不重要的yarn任务以释放资源。
2、优化SQL执行计划:
通过查看ApplicationMaster,单击SQL页签,可以看到正在执行的SQL及其进度,这有助于了解哪一步操作耗时较长,从而进行针对性优化。
3、调整作业配置:
如果是因为truncate table
操作导致超时,可以尝试调整超时时间或优化表结构,减少数据量以加快操作速度。
4、日志排查:
如果CDM在作业BOOTING阶段无法查看日志,可以联系CDM运维查看后台日志,获取Application ID后,进一步分析日志中的错误信息。
5、多租户模式确认:
在多租户模式下,确认其他租户的作业是否正常,如果有租户的作业不正常,可能是MRS集群的jdbc server出了问题,需要进一步排查。
6、直连连接测试:
使用dlf建个脚本,选择直连连接,执行一条spark sql,看是否报time out的错误,如果所有租户的spark sql都有问题,大概率是MRS集群的jdbc server出了问题。
7、检查数据库连接:
如果是单租户执行不了spark sql,则多半是队列资源限制,打开yarn,搜索租户的队列,查看Spark2x-JD BCS erver2x的yarn任务,此时可能会搜索不到yarn任务,或者State为ACCEPTED,这两种情况都是资源不足起不了yarn任务的现象。
通过上述方法可以解决Hudi作业长时间处于BOOTING状态的问题,关键在于合理分配Yarn资源、优化SQL执行计划以及及时排查日志中的错误信息,希望这些建议能帮助你解决实际工作中遇到的问题。
到此,以上就是小编对于paper怎么读_读Hudi作业长时间出于BOOTING状态怎么解决?的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。
本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/80356.html