1

ローカル ブラウザからジョブ トラッカー インターフェイスにアクセスできるように、マスター/スレーブ ノードの EC2 セキュリティ グループを開きました。を使用して接続しhttp://MASTER-IP:9100ます。

タスクの詳細からタスクトラッカーログにアクセスしようとするまで、すべてがうまく機能します -http://ec2-xx-xx-xx-xx.compute-1.amazonaws.com:9100/taskdetails.jsp?tipid=task_201212181113_0001_m_000000

そこにあるリンクは内部 EC2 IP アドレスへのものであるため、ローカル マシンからアクセスできません (リンクはhttp://10.116.xxx.xx:9103/tasklog?attemptid=attempt_201212181113_0001_m_000000_0&all=true) 。

これらのリンクにタスク トラッカーのパブリック IP が含まれるように EMR を変更する方法はありますか?

ありがとう!

4

3 に答える 3

4

非常に簡単にできることはssh、マスター ノードに移動し、そこcurlからこのログの場所に移動することです。通常、常にマスター ノードにトンネリングし、ジョブ トラッカー Web インターフェイスにアクセスします。http://localhost:9100

トンネリングするには、次の操作を実行できます。

ssh -i your-pem-file.pem -L 9100:ec2-xx-xx-xx-xx.computamazonaws.com:9100 hadoop@ec2-xx-xx-xx-xx.compute-1.amazonaws.com

curlそして、次のような単純な方法でログにアクセスします。

$ curl http://10.116.xxx.xx:9103/tasklog?attemptid=attempt_201212181113_0001_m_000000_0&all=true

aws コンソールにログインして、実行中の ec2 インスタンスのリストを探すこともできます。そこから、必要なマシンのログのプライベート IP と対応するパブリック IP を取得できます。次に、ログの URL でプライベート IP をこの取得したパブリック IP に置き換えることができます。

しかし、最初の解決策は非常に単純で、私たちが一般的に行っていることです。

于 2012-12-18T14:21:50.133 に答える
2

すべてのスレーブのパブリック IP とそのホスト名を /etc/hosts ファイルに追加します。

于 2012-12-18T14:07:37.270 に答える
0

ssh トンネリングを試してください。Firefox-Plugin FoxyProxy を使用します。ローカル ブラウザからジョブ トラッカー インターフェイスを表示し、ログを参照できるはずです。

于 2014-01-29T04:22:52.180 に答える