概要描述
当前版本transporter,暂不支持从tds页面直接判断加载任务失败的原因,需要到后台服务器上查看/var/log/quarkX/quark-executor.log*日志,本文举例说明日志的查看方法。
详细说明
以如下加载任务执行报错为例:
报错信息只会提示 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.
日志提示也很明确,需要到 10.15.15.29 节点,搜索 959170 这个TID来查看具体报错。
首先我们先确认 加载任务是由哪个quark执行引擎运行的,找到源端配置,数据源对应 quark6数据库,(这个数据源的连接配置,决定executor节点的日志目录,也就是后面的 /var/log/quark6);
如果是将数据加载到quark,到目标端查看是哪个quark
登录到 10.15.15.29服务器,进入到 /var/log/quark6 目录下,ls -lrth quark-executor.log*,找到对应时间点的日志文件,vi模式进去搜索 959170 这个TID,往前翻一翻即可看到具体报错信息:

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