■ はじめに
起動中の EMR に Session Manager を使って入る方法や デバッグについて、メモしておく。 今回の収穫は、lynxコマンド(テキストベースのブラウザ表示) ってを学べたこと。 後日談: 設定については、以下の関連記事を参照のこと
Amazon EMR ~ Session Managerを設定する ~
https://dk521123.hatenablog.com/entry/2023/08/16/201948
目次
【0】前提条件 【1】起動EMR 内に Session Manager を使って入る 【2】Hive コマンドを実行する 【3】EMR上で Web UI へのアクセス 補足:lynxコマンド 【4】ログ 1)Hive ログ 2)EMR Step ログ 3)YARN ログ 【5】設定ファイル 1)hdfs-site.xml etc
【0】前提条件
* EMR に対して、Session Managerの設定がされていること => 例えば、SSM Agent のインストールやIAMロールの設定など
AWS Systems Manager ~ Session Manager ~
https://dk521123.hatenablog.com/entry/2020/04/09/215235
【1】起動EMR 内に Session Manager を使って入る
[1] AWS コンソールマネージメントから [EC2]-[Instances]で EC2一覧画面を表示する [2] 「Security group name」などを参考に対象EC2インスタンスを選択 [3] 画面右上付近にある「Connect」ボタン押下 [4] 「Session Manager」タブの「Connect」ボタン押下
【2】Hive コマンドを実行する
[1] 「sudo su」などのコマンドで root になる => 「EMR」って表示されるかも、、、 [2] 「sudo su <使用しているユーザ(e.g. hadoop)>」などのコマンド EMRを起動している対象ユーザになる (直接だったらうまくいかなかった) [3] 「hive」コマンドでHiveを起動する
【3】EMR上で Web UI へのアクセス
実行結果のエラーメッセージで 「For more detailed output, check the application tracking page: http://ip-###-##-##-###.us-west-2.compute.internal:8088/cluster/app/application_xxx」 などの表示がされるが、SSHトンネルを使わないと直接は見れない。 で、調べていたら、以下の公式サイトに簡易的な方法だが見れる方法が 紹介されていたので、メモ。
https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-web-interfaces.html
コマンド例
# lynx <URL>
lynx http://ip-###-##-##-###.us-west-2.compute.internal:8088/cluster/app/application_xxx
補足:lynxコマンド
* ターミナルで動作するテキストベースのブラウザ cf. lynx(リンクス) = オオヤマネコ
http://smartphone24365.blogspot.com/2016/02/lynx.html
https://www.linuxmaster.jp/linux_skill/2005/10/032lynx-web.html
【4】ログ
ログの格納場所について、以下の公式サイトなどが参考になる
https://aws.amazon.com/jp/premiumsupport/knowledge-center/logs-hive-queries-amazon-emr/
https://docs.aws.amazon.com/ja_jp/emr/latest/ManagementGuide/emr-manage-view-web-log-files.html
https://docs.aws.amazon.com/ja_jp/emr/latest/ManagementGuide/emr-plan-debugging.html
1)Hive ログ
* /mnt/var/log/hive/ * /mnt/var/log/hive/user/<user(e.g. hadoop (デフォルトユーザー))>
コマンド例
cd /mnt/var/log/hive/user/hadoop tail -20 hive.log
2)EMR Step ログ
* /var/log/hadoop/steps/<Step ID>
コマンド例
cd /var/log/hadoop/steps/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
3)YARN ログ
https://aws.amazon.com/jp/premiumsupport/knowledge-center/emr-node-label-yarn-resourcemanager/
より * /var/log/hadoop-yarn/yarn-yarn-resourcemanager-*.log
【5】設定ファイル
1)hdfs-site.xml etc
* /etc/hadoop/conf/ 配下に設定ファイル群がある + hdfs-site.xml + core-site.xml + yarn-site.xml + hadoop-env.sh etc...
関連記事
Amazon EMR ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/02/20/230519
Amazon EMR ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2020/05/27/175610
Amazon EMR ~ EMRFS ~
https://dk521123.hatenablog.com/entry/2020/11/13/145545
Amazon EMR ~ Session Managerを設定する ~
https://dk521123.hatenablog.com/entry/2023/08/16/201948
EMRでINSERTを実行した際に Fail する
https://dk521123.hatenablog.com/entry/2022/05/14/001031
AWS Systems Manager ~ Session Manager ~
https://dk521123.hatenablog.com/entry/2020/04/09/215235