华为云MRS DGC上执行MRS Hive任务如何查询详细日志

举报
yugogo 发表于 2021/12/23 11:18:28 2021/12/23
【摘要】 1 说明在DGC服务创建MRS Hive数据连接,连接方式分为两种,一种是通过代理连接,另一种通过api方式连接。两种方式提交MRS Hive任务方式不同,查看日志的方式也有所不同,下面分别介绍两种方式查看报错日志的方法。2 不同连接方式查看日志步骤2.1 代理连接2.1.1 连接说明该方式直连MRS集群,无法直接通过job_id等信息去MRS作业管理页面找到对应的applicationId...

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中的报错不是足够详细或者没有,可根据applicationIdyarn上查看详细的任务执行日志。(具体步骤参考《HiveServer与yarn日志查看》章节)

2.2 API连接

2.2.1 连接说明

该方式通过调用MRSv2接口提交HiveSQL,该方式提交的任务会显示在MRS服务的作业管理页面,可通过DGC日志中的job_name和job_id找到MRSv2作业提交记录,之后便能查看到执行日志,报错,以及applicationId信息

2.2.2 查看日志步骤

首先在DGC找到的报错任务,查看日志,点击运维调度-作业监控-查看日志

在日志中查看job_idjob_name

根据job_idjob_nameMRS作业管理页面查找提交任务,首先进入MRS集群页面,点击文件管理,在右上角搜索job_name,可能搜索出很多相同任务,在ctrl+F搜索job_id,找到唯一任务(根据job_id搜索正在开发中)

点击查看日志查看任务报错信息

3 HiveServeryarn日志查看

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.loghive.log.XXX.zip然后搜索提交SQL(如果SQL很长,就搜索SQL有代表性的一部分),在日志中找到对应时间点,有queryId=omm_20211221095633_c6a491ed-d5e5-4995-a2b8-96e6044fc542)这一条日志

找到该任务的唯一IdqueryId

2.根据queryIdomm_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的日志(根据引擎不同会跳转的不同的页面MRTezSpark,这里不在详细介绍每个引擎的日志如何查看,可参考其他资料,按照开源自行学习),下面主要介绍AM日志

    点击ID栏的applicationId进入详情页面Logs

    进入日志页面该日志分为几个部分日志部分在最后here进入日志详情,查看AM日志

进入详情页面可以搜索ERROR来查看报错堆栈


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。