2.16 - ジョブの問題に対する解決方法 - Teradata QueryGrid

Teradata® QueryGrid™ インストールとユーザー ガイド

Product
Teradata QueryGrid
Release Number
2.16
Release Date
2021年6月
Content Type
インストール
ユーザー ガイド
構成
管理
Publication ID
B035-5991-061K-JPN
Language
日本語 (日本)
クエリーが失敗した理由の説明がなくエラーが発生した場合は、ログを有効にし、メッセージ数を増やすことで、サポート バンドルでエラーとメッセージを収集します。サポート バンドルをQueryGridマネージャに送信してトラブルシューティングを実行します。ロギング レベルを有効にする方法については、ロギングとエラーの処理を参照してください。

Teradataコネクタ

次のエラーは、Teradataシステムを開始することで発生します。
問題の説明 エラー メッセージ 解決方法
許可されているOSユーザーがイニシエータ システムで正しく設定されていません。 QGInitiatorExportContract: 2689: (NO UUID YET) IMeta : Unauthorized connection [user='teradata'(uid=14)] to QueryGrid Fabric. Add user to allowed OS users for connector イニシエータ コネクタで、許可されているOSユーザーを更新します。詳細については、Teradata QueryGridセキュリティを参照してください。
許可されているOSユーザーがターゲット システムで正しく設定されていません。 QGII: 64179: (aaab4f7a-26ce-4356-bd43-b88e059e90f8) Unauthorized connection [user='teradata'(uid=14)] to QueryGrid Fabric. Add user to allowed OS users for connector ターゲット コネクタで、許可されているOSユーザーを更新します。詳細については、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-nodeサービスを再起動します。
ターゲット コネクタのサーバー名が正しくありません。 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パス スルーの構文エラー。 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' ターゲットTeradataシステムのTD_SYSFNLIBの下にfastpath関数が存在しない場合は、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' ターゲットTeradataシステムのTD_SYSFNLIBの下にfastpath関数が存在しない場合は、DIPスクリプトSystem Functionsを実行します。
データ転送中にターゲット システムのスプール領域がなくなりました。 QGInitiatorExport: 2646: (a18b6bce-ce8a-4ea0-97b3-000000000008) InitiatorDataExportReq : [Error 2646] No more spool space in testuser. ターゲット システムでユーザーのスプール領域を増やすか、クエリーのデータセットを減らします。
イニシエータ システムでデータ変換中にエラーが発生しました。 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コネクタをイニシエータとして使用中の切り捨てられた状態のエラー メッセージ Error message appears truncated エラー メッセージをさらに表示するには、TeradataコネクタのプロパティEnable LoggingViewpointでNONE以外に設定されていることを確認します。メッセージに記載されている固有のIDをメモします(例: 4a9eafad-4d0c-4612-9dd2-000000000008b)。そのIDを使用して、Viewpointで次のパス: /var/opt/Teradata/tdqg/connector/tdqg-teradata-connector/build version/log/teradata_qgc.logにあるドライバ ノードとしてマークされた各Teradataノードのログ ファイルを確認します。これらのファイルの1つに、固有のIDとエラー メッセージを持ちERRORとマークされた行が含まれるはずです。

Prestoコネクタ

問題 エラー メッセージ 解決方法
サブクエリーを持つPresto 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) 適切なjarがHiveクラス パスに追加されていることを、Hive-Teradata間の非ネイティブ テーブルの構成の説明に従い確認します。
テーブル分類が正しくない 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またはジョブ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-site.xmlhive.security.authorization.sqlstd.confwhitelist.appendhive\.materializedview\.rewritingを追加し、パラメータを変更できるようにします。

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 Applicationに設定された状態で、Sparkターゲット コネクタを使用している場合にのみ表示されます。
一般的な原因:
  • Viewpointリンク構成でのユーザー マッピングが正しくない。SparkコネクタがSpark権限なしのユーザーに接続しようとする原因になります。
  • Sparkコネクタ プロパティUsernameまたはPasswordが、link configconnector config、またはTeradata AUTHORIZATIONオブジェクトで正しく設定されていない。
  • Sparkコネクタ プロパティ、Queue Nameが、link configまたはconnector configオブジェクトで正しく設定されていない。
  • 初期インストール/構成中に、Spark SQLターゲット コネクタ ユーザーの設定での説明のように、ユーザーの代理ログインを有効にできない。
  • SparkコネクタがSparkアプリケーションを使用してSparkデータベースの要求を行ったときに発生する、何らかのエラーまたは障害。
原因の特定:
  • Spark Thriftサーバーが構成されている場合は、Thrift Serverを一時的に使用するようにSpark Execution Mechanismを変更し、クエリーを再試行すると、より有用なエラー メッセージが表示される場合があります。
  • より詳細なエラー メッセージが、クエリーを実行したドライバ ノードの/var/opt/teradata/tdqg/connector/tdqg-spark-connector/build version/log/spark_rc.logにあるログで見つかる場合があります。
    • ログにError while running Spark Applicationが表示される前に、リストされる例外とスタック トレースを探します。
Hiveコネクタで使用する非ネイティブ テーブルにSparkシェルからアクセスする。 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シェルを使用する場合は、Hiveコネクタで使用するために作成された非ネイティブのテーブルにはアクセスしないでください。Spark SQLコネクタで使用する非ネイティブ テーブルを作成する方法については、Spark SQL-Teradataコネクタ間のリンクの検証を参照してください。