华为云MRS DGC上执行MRS Hive任务如何查询详细日志
1 说明
在DGC服务创建MRS Hive数据连接,连接方式分为两种,一种是通过代理连接,另一种通过api方式连接。两种方式提交MRS Hive任务方式不同,查看日志的方式也有所不同,下面分别介绍两种方式查看报错日志的方法。
2 不同连接方式查看日志步骤
2.1 代理连接
2.1.1 连接说明
该方式直连MRS集群,无法直接通过job_id等信息去MRS作业管理页面找到对应的applicationId,但可以根据执行的SQL或报错和提交时间到MRS集群HiveServer日志中搜索,然后在上下文中找到对应的applicationId或报错堆栈。
2.1.2 查看日志步骤
• 首先在DGC找到的报错任务,查看日志,点击运维调度-作业监控-查看日志
• 在日志中有任务执行的SQL、报错以及对应的时间,可根据此信息去MRS集群中的HiveServer日志中搜索,查找SQL执行时的applicationId或者在HiveServer中报错的堆栈信息。如果HiveServer中的报错不是足够详细或者没有,可根据applicationId去yarn上查看详细的任务执行日志。(具体步骤参考《HiveServer与yarn日志查看》章节)
2.2 API连接
2.2.1 连接说明
该方式通过调用MRSv2接口提交HiveSQL,该方式提交的任务会显示在MRS服务的作业管理页面,可通过DGC日志中的job_name和job_id找到MRSv2作业提交记录,之后便能查看到执行日志,报错,以及applicationId信息
2.2.2 查看日志步骤
• 首先在DGC找到的报错任务,查看日志,点击运维调度-作业监控-查看日志
• 在日志中查看job_id和job_name
• 根据job_id和job_name在MRS作业管理页面查找提交任务,首先进入MRS集群页面,点击文件管理,在右上角搜索job_name,可能搜索出很多相同任务,在ctrl+F搜索job_id,找到唯一任务(根据job_id搜索正在开发中)
• 点击查看日志,查看任务报错信息
3 HiveServer与yarn日志查看
3.1 Hive执行过程的两个阶段日志
执行Hive SQL时分为两个阶段,一个是执行MR任务之前的解析阶段,解析阶段都日志都在HiveServer日志中,如果解析阶段报错,也会打印在HiveServer日志中;第二个是在解析阶段后的MR任务,此阶段任务运行和报错的日志都会在yarn中。
3.2 HiveServer日志查看
3.2.1 HiveServer节点
• Mananger页面,点击服务管理-Hive-实例
3.2.2 获取途径
• manager页面下载,位置:
MRS2.X版本:在manager页面,点击系统设置-日志导出
MRS3.X版本:在manager页面,点击运维-日志-下载
服务选择HiveServer,主机默认(全选),时间选择在DGC日志中报错的时间,范围选择前后10min。点击下载。
• MRS HiveServer节点
HiveServer所有节点的/var/log/Bigdata/hive/hiveserver目录下查看,日志名称为hive.log(历史的则为hive.log.xxx.zip)
3.2.3 查看HiveServer报错日志
找到报错日志对应时间的hive.log(历史的则为hive.log.xxx.zip),使用vim命令打开,搜索DGC日志中报错。能查看到报错的堆栈信息
3.2.4 查看HiveSQL提交到yarn日志
如果在HiveServer中没有堆栈信息,则需要到yarn上查看报错日志。
• 第一种比较初略、快速的查找方法
根据 MRS用户、执行SQL、提交时间在YARN上估计寻找,如果任务执行的多,不一定准确,需要用到第二种方法
• 在HiveServer中根据执行SQL查找提交yarn任务的applicationId,然后在yarn页面根据applicationId找到yarn任务
1.先打开对应时间的hive.log或hive.log.XXX.zip,然后搜索提交SQL(如果SQL很长,就搜索SQL有代表性的一部分),在日志中找到对应时间点,有queryId=omm_20211221095633_c6a491ed-d5e5-4995-a2b8-96e6044fc542)这一条日志。
找到该任务的唯一Id:queryId
2.根据queryId:omm_20211221095633_c6a491ed-d5e5-4995-a2b8-96e6044fc542继续搜索,查找到applicationId(一个queryId可能对应多个applicationId,因为一个SQL有可能起多个yarn任务)
3.找到applicationId=application_1639997592613_0016后到yarn页面上搜索
在mananger页面,点击服务管理-yarn-ResourceManager
在yarn页面右上角搜索applicationId :application_1639997592613_0016 ,之后点击前面ID栏的是AM日志,后面Tracking Ui栏的是NM的日志(根据引擎不同会跳转的不同的页面MR,Tez,Spark,这里不在详细介绍每个引擎的日志如何查看,可参考其他资料,或按照开源自行学习),下面主要介绍AM日志
点击ID栏的applicationId后,进入详情页面,点Logs
进入日志页面,该日志分为几个部分,日志部分在最后,点here进入日志详情,查看AM日志
进入详情页面可以搜索ERROR来查看报错堆栈
- 点赞
- 收藏
- 关注作者
评论(0)