如果发生错误,且没有解释查询失败的原因,请启用日志记录并增加消息计数,以在支持包中收集错误和消息。将支持包发送到 QueryGrid 管理器以进行故障排除。有关启用日志记录级别的信息,请参阅日志记录和错误处理。
Teradata Connector
以下错误来源于发起 Teradata 系统。
问题说明 | 错误消息 | 解决方案 |
---|---|---|
发起程序系统上未正确配置允许的操作系统用户。 | QGInitiatorExportContract: 2689: (NO UUID YET) IMeta : Unauthorized connection [user='teradata'(uid=14)] to QueryGrid Fabric. Add user to allowed OS users for connector | 更新发起程序连接器上允许的操作系统用户。有关更多信息,请参见Teradata QueryGrid 安全。 |
目标系统上未正确配置允许的操作系统用户。 | QGII: 64179: (aaab4f7a-26ce-4356-bd43-b88e059e90f8) Unauthorized connection [user='teradata'(uid=14)] to QueryGrid Fabric. Add user to allowed OS users for connector | 更新目标连接器上允许的操作系统用户。有关更多信息,请参见Teradata QueryGrid 安全。 |
发起程序系统上的系统内存不足。 | QGII: 64179: (c4525b40-2947-407e-b091-869cb4c69545) sdt35957 : IImp : Maximum memory per node (10485760) exceeded. Increase maximum for QueryGrid system | 增加发起系统的Max memory per node。 |
目标系统上的系统内存不足。 | QGIE: 64179: (d333ddfc-a2d8-4d43-a68a-b71c0307ef91) Maximum memory per node (10485760) exceeded. Increase maximum for QueryGrid system | 增加目标系统的Max memory per node。 |
(链接缓冲区大小 * 链接缓冲区)计数高于允许值。 | QGIE: 64179: (df8f1231-dbc9-493c-937d-360ec52ae3be) sdt35957 : IExp : Requested buffer size (1000000000 bytes) exceeds the maximum allowed (16777216 bytes) | 减少发起程序连接器上的链接缓冲区大小和链接缓冲区计数。 |
目标系统上的驱动程序未启动或处于脱机状态,或驱动程序拥有错误的 java 路径集。 | QGIIC: 64179: (6dad7e92-f208-45a9-a036-6c592a0d2c1b) sdt35957 : IMeta : No drivers available. [sdt35958]: Unable to open connection to driver: dial unix /dev/shm/td_qg_ipc/5002/uds/TDdriver_driver.sock: connect: connection refused | 检查目标连接器的驱动程序状态。如果驱动程序处于脱机状态,请重启节点上的 tdqg 节点服务。 |
目标连接器中的服务器名称不正确。 | QGInitiatorExportContract: 24582: (9c7d074e-4529-4a54-a664-000000000004) ExportMeta : [Error 1000] Login failure for Connection to fakehost Thu May 10 08:45:52 PDT 2018 | 修复服务器名称目标连接器属性作为目标主机的 IP 地址或 DBS 名称。 |
表不在目标系统中。 | QGInitiatorExportContract: 3706: (9c7d074e-4529-4a54-a664-000000000004) ExportMeta : [Error 3807] Object 'testuser.temp_table_non_exist' does not exist. | 确认表存在,且查询具有正确的引用。 |
目标系统上存在语法错误。 | QGInitiatorExportContract: 3706: (9c7d074e-4529-4a54-a664-000000000004) ExportMeta : [Error 3706] Syntax error: SELECT * must have a FROM clause. | 检查提交的查询,以及目标系统上是否存在有效语法。 |
foreignSQL pass through 出现语法错误。 | EXECUTEFOREIGNSQL:Error: 3707 (50081586-bd87-4516-9285-000000000017) ForeignFunctionDataExec : [Error 3707] Syntax error, expected something like ‘(’ between the word ‘xx’ and ‘;’. | 检查在 ExecuteForeignSQL SP 中提交的查询,以及目标系统中是否存在有效语法。 |
QueryGrid fastpath 函数 QGRemoteExport 不在目标系统中。 | QGInitiatorImport: 3706: (9c7d074e-4529-4a54-a664-000000000004) InitiatorDataImportReq : [Error 3706] Syntax error, expected something like ';' between the word 'QGRemoteExport' | 如果 fastpath 函数不在目标 Teradata 系统上的 TD_SYSFNLIB 下,则运行 DIP 脚本 System Functions。 |
QueryGrid fastpath 函数 QGRemoteImport 不在目标系统中。 | QGInitiatorExport: 3706: (9c7d074e-4529-4a54-a664-000000000004) InitiatorDataExportReq : [Error 3706] Syntax error, expected something like ';' between the word 'QGRemoteImport' | 如果 fastpath 函数不在目标 Teradata 系统上的 TD_SYSFNLIB 下,则运行 DIP 脚本 System Functions。 |
数据传输期间目标系统上的 spool 空间不足。 | QGInitiatorExport: 2646: (a18b6bce-ce8a-4ea0-97b3-000000000008) InitiatorDataExportReq : [Error 2646] No more spool space in testuser. | 增加目标系统上用户的 spool 空间或减少查询所用的数据集。 |
在发起程序系统上进行数据转换时出错。 | QGInitiatorImport: 1018: (341cab15-7eb7-46b2-b78d-000000000ef2) UDT transform to internal format failed | 数据转换错误可能是由于发起程序和目标系统上的数据类型不匹配。 |
在目标系统上进行数据转换时出错。 | QGInitiatorExport: 40008: (6268d8db-a3c3-4b62-82bd-000000000002) Export failed. [Error 9134] QGRemoteImport: 1018: UDT transform to internal format failed | 数据转换错误可能是由于发起程序和目标系统上的数据类型不匹配。 |
链接中的发起程序网络接口设置不正确。 | QGII: 64179: (9b01f021-2652-4222-a345-35585f3775ef) Failed to connect to node "sdt35957": No matching addresses found for network "ep_false_network" on node "sdt35957" | 修复链接中的发起程序网络接口地址 |
链接中的目标网络接口设置不正确。 | QGIIC: 64179: (e8c402fc-2a31-4aea-b167-8b82282eb339) sdt35957 : IMeta : no drivers available. [sdt35958]: No matching addresses found for network "ep_false_network" on node "sdt35958" | 修复链接中的目标网络接口地址。 |
使用 Teradata Connector 作为发起程序时出现截断的错误消息 | Error message appears truncated | 要查看详细的错误消息,请确保在 Viewpoint 中将 Teradata Connector 属性 Enable Logging 设置为 NONE 以外的值。请记下该消息中提到的唯一 ID:(例如,4a9eafad-4d0c-4612-9dd2-00000000008b)。可通过该 ID 在 Viewpoint 中检查标记为驱动程序节点的每个 Teradata 节点上位于以下路径的日志文件:/var/opt/Teradata/tdqg/connector/tdqg-teradata-connector/build version/log/teradata_qgc.log。其中一个文件应包含标有 ERROR 并具有该唯一 ID 和错误消息的行。 |
Presto 连接器
问题 | 错误消息 | 解决方案 |
---|---|---|
带有子查询的 Presto 到 Teradata (P2T) 查询未完成 | 无。 | 设置会话属性 enable_dynamic_filtering=false。如果能够解决此问题,请将此设置添加到 Presto config.properties 文件,然后重新启动 Presto 服务器。 |
Hive 连接器
问题 | 错误消息 | 解决方案 |
---|---|---|
找不到 QueryGrid java 类 | Error: Error while compiling statement: FAILED: RuntimeException org.apache.hadoop.hive.ql.metadata.HiveException: Error in loading storage handler.com.teradata.querygrid.qgc.hive.QGStorageHandler (state=42000,code=40000) | 确认是否已按为 Hive 到 Teradata 配置非本机表中所述将相应的 jar 添加到 Hive 类路径中。 |
表分类不正确 | ERROR : FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Table default.table123 failed strict managed table checks due to the following reason: Table is marked as a managed table but is not transactional.) | 确认在按为 Hive 到 Teradata 配置非本机表中所述创建非本机表时是否使用了外部关键字。 |
Hadoop 引擎执行应用程序时出错 | ERROR : Ended Job = job_1565997625028_0046 with errors Error: Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask OR Export failed. application_1568920044570_0016 Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.tez.TezTask |
如果该错误消息包含应用程序或作业 ID,请通过 Hadoop Web 界面在日志中查找该特定应用程序以找出失败的原因。 |
不允许使用参数 hive.materializedview.rewriting | Failure 9134 QGII: 50107: (ff522b67-bcd1-4fca-b683-000000000002) Import failed. Query failed. Error while processing statement: Cannot modify hive.materializedview.rewriting at runtime. It is not in list of params that are allowed to be modified at runtime | 将 hive\.materializedview\.rewriting 添加到 hive-site.xml 中的 hive.security.authorization.sqlstd.confwhitelist.append 以允许修改参数。 |
Spark 连接器
问题 | 错误消息 | 解决方案 |
---|---|---|
Spark 应用程序错误 | Error 9134 QGInitiatorImportContract: 70103: (041caf90-06a3-46b3-8a4f -00000000004e) Metadata failed. java.sql.SQLException: Error occurred while executing spark job. java.sql.SQLException: Error while running Spark Application on host: hadoop3.dummy.domain. Check QueryGrid User Guide for troubleshooting info | 只有在使用 Spark 目标连接器且 Spark 执行机制设置为 Spark Application 时才会显示此消息。 常见原因:
确定原因:
|
从 spark-shell 访问要用于 Hive 连接器的非本机表。 | ERROR log: error in initSerDe: java.lang.ClassNotFoundException Class com.teradata.querygrid.qgc.hive.QGSerDe not found java.lang.ClassNotFoundException: Class com.teradata.querygrid.qgc.hive.QGSerDe not found | 在使用 spark-shell 时,请勿访问为 Hive 连接器创建的非本机表。有关如何创建要用于 Spark SQL 连接器的非本机表的信息,请参阅验证 Spark SQL 到 Teradata Connector 链接。 |