TDT加载任务如何查看服务器日志报错

  第三方对接
内容纲要

概要描述


当前版本transporter,暂不支持从tds页面直接判断加载任务失败的原因,需要到后台服务器上查看/var/log/quarkX/quark-server.log 或 /var/log/quarkX/quark-executor.log日志,本文举例说明日志的查看方法。

详细说明


一. 报错在quark executor上

*以如下加载任务执行报错为例,具体指向了某一个quark executor节点,则表明报错在quark executor上,要到对应的quark executor节点后台查看 /var/log/quarkX/quark-executor.log 日志,**

报错信息会提示 Caused by: java.sql.SQLExeception: EXECUTION FAILED: Task MAPRED-SPARK error SparkException: [Error 1] job aborted due to stage failure: Task 4 in stage 201946.0 failed 4 times, most recent failure: Lost task 4.3 in stage 201946.0(TID 6244229, 10.15.15.26, jobId 129073, sqlId 278135, sessionId 49153): org.apache.hadoop.hive.ql.metadata.HiveException: Got SQLException

或者这种:

报错信息会提示 Caused by: java.lang.RuntimeException: java.sql.SQLException: EXECUTION FAILED: Task MAPRED-SPARK error SparkException: [Error 1] Job aborted due to stage failure: Task 4 in stage 24351.0 failed 4 times, most recent failure: Lost task 4.3 in stage 24351.0 (TID 959170, 10.15.15.29, jobId 11152, sqlId 18734, sessionId 3492): java.lang.RuntimeException: Exception found during closeOp. See more detail on executor log.

上述2种情况下,日志提示都也很明确,需要到具体的executor节点节点,搜索TID来查看具体报错。

以上面的报错为例:首先我们先确认 加载任务是由哪个quark执行引擎运行的,找到源端配置,数据源对应 quark6数据库,(这个数据源的连接配置,决定executor节点的日志目录,也就是后面的 /var/log/quark6);

如果是将数据加载到quark,到目标端查看是哪个quark

登录到 10.15.15.29服务器,进入到 /var/log/quark6 目录下,ls -lrth quark-executor.log*,找到对应时间点的日志文件,vi模式进去搜索 959170 这个TID,往前翻一翻即可看到具体报错信息:

file

二. 报错在quark server上

如果加载日志显示Caused by: java.sql.SQLException: EXECUTION FAILED: Task MAPRED-SPARK error IOException: [Error 1] Got SQLException,没有具体指向某一个quark executor节点,则表明报错在quark server上,要到对应的quark server节点后台查看 /var/log/quarkX/quark-server.log* 日志,比如下面的报错

FAQ


1. 卸数到mysql时遇到Duplicate entry键值冲突的报错 有所不同

类似的,卸数到oracle时,报错 ORA-00001: unique constraint 也要用这种排查逻辑。

需要到DBAService页面,stage页面找到执行失败的task,到 尝试 为0的executor节点去查看quark-executor.log。 因为在quark中task失败会默认重试3次,只有第一次的日志才会显示具体重复的键值,后续第二/三/四次是由于task重试机制导致的,并非是重复key。遇到这种报错也可以直接到源端数据库,对映射到目标端唯一键的列做聚合查询,同样也可以找到重复的键值。

2. WARN级别日志无法显示具体信息,需要调整成INFO级别?

参考 修改quark日志级别的几种方式 之方案二:DBAService页面修改,将quark引擎的日志级别调整为 INFO

因为日志级别默认为 WARN 的情况下,无法打印executor日志中的一些关键信息,比如replace模式卸数下的sql语句等。

调试完成之后,请务必修改回WARN,防止对日常业务性能造成影响。

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。