Amazon EMR の Apache Hive クエリにおいて問題が発生しています。この問題をトラブルシューティングできるようにログを収集するにはどうすればよいですか?

Amazon EMR では、次の方法で Hive を操作することができます。トラブルシューティングのステップは、この使用方法によって異なります。

Hive シェル

Hive ログは、Amazon EMR クラスターのマスターノードの次のディレクトリに保存されます。詳細については、「View Log Files」を参照してください。

  • /mnt/var/log/hive/
  • /mnt/var/log/hive/user/

クエリ関連のエラーはすべて、/mnt/var/log/hive/user/ ディレクトリに記録されます。たとえば、hadoop (デフォルトユーザー) として Hive シェルからクエリを実行する場合、実行するクエリのエラーは、次のディレクトリに記録されます。

[hadoop@ip-172-31-33-9 ~]$ cd /mnt/var/log/hive/user/hadoop
[hadoop@ip-172-31-33-9 hadoop]$ tail -20 hive.log

root (sudo) として Hive シェルからクエリを実行する場合は、クエリ関連のエラーがないかどうかを次のログで確認します。

[hadoop@ip-172-31-33-9 ~]$ cd /mnt/var/log/hive/user/root
[hadoop@ip-172-31-33-9 root]$ tail -20 hive.log

Hue、JDBC、または ODBC

HiveServer2 では、Beeline や SQL Workbench/J などのクライアントで Hive に対するクエリを実行することができます。詳細については、Apache Hive ウェブサイトの「HiveServer2 の概要」を参照してください。JDBC または ODBC ドライバを使用してクライアントから Hive に接続できない場合は、エラーが発生していないか hive-server2 ログで確認します。

[hadoop@ip-172-31-33-9 ~]$ cd /mnt/var/log/hive/
[hadoop@ip-172-31-27-169 hive]$ ls -ltr
total 52
-rw-r--r-- 1 hive hive 42 May 25 19:29 hive-server2.out
drwxrwxrwt 4 root root 30 May 25 19:29 user
-rw-r--r-- 1 hive hive 49075 May 25 19:29 hive-server2.log

[hadoop@ip-172-31-33-9 hive]$ tail -20 hive-server2.log

hive-server2 ログは、スロークエリ、HiveServer2 起動エラー、クエリ送信の問題などのサービス関連の問題のトラブルシューティングに使用することもできます。

Amazon EMR のステップ

ステップログの確認。このログは、/var/log/hadoop/steps/ にあります。例:

[hadoop@ip-172-31-33-9 s-3C4CZ9G05FEAX]$cd /var/log/hadoop/steps/s-3C4CZ9G05FEAX
[hadoop@ip-172-31-33-9 s-3C4CZ9G05FEAX]$ ls -ltr
total 12
-rw-rw-r-- 1 hadoop hadoop 0 May 25 21:09 syslog
-rw-rw-r-- 1 hadoop hadoop 1304 May 25 21:09 stdout
-rw-rw-r-- 1 hadoop hadoop 213 May 25 21:09 stderr
-rw-rw-r-- 1 hadoop hadoop 2589 May 25 21:09 controller

YARN アプリケーションの履歴

YARN アプリケーションの詳細を表示およびモニタリングする最も簡単な方法は、Amazon EMR コンソールを開いてから、クラスターの詳細ページの [アプリケーションの履歴] タブを使用することです。詳細については、「アプリケーション履歴の表示」を参照してください。

Hive クエリ実行時にバックグラウンドで起動している Tez または MapReduce アプリケーションでエラーが発生しているかどうかを確認するには、Amazon Simple Storage Service (Amazon S3) 上の YARN アプリケーションのログを確認します。詳細については、「Amazon S3 にアーカイブされたログファイルを表示する」を参照してください。例:

$ aws s3 ls s3://aws-logs-223377617334-us-west-2/elasticmapreduce/j-3MCDUQO2MWNJ5/
                           PRE containers/
                           PRE node/
                           PRE steps/
$ aws s3 ls s3://aws-logs-223377617334-us-west-2/elasticmapreduce/j-3MCDUQO2MWNJ5/node/i-045d100a1fcd13ef2/
                           PRE applications/
                           PRE bootstrap-actions/
                           PRE daemons/
                           PRE provision-node/
                           PRE setup-devices/
$ aws s3 ls s3://aws-logs-223377617334-us-west-2/elasticmapreduce/j-3MCDUQO2MWNJ5/containers/application_1527279117205_0001/container_1527279117205_0001_01_000001/
2018-05-25 15:46:04 842 stdout.gz
2018-05-25 15:46:04 4089 syslog.gz

このページは役に立ちましたか? はい | いいえ

AWS サポート ナレッジ センターに戻る

サポートが必要ですか? AWS サポートセンターをご覧ください。

公開日: 2018 年 10 月 24 日