Amazon Elastic MapReduceの使い方─Hadoopより手軽にはじめる大規模計算

第5回 デバッグモードを使いこなす

この記事を読むのに必要な時間:およそ 3 分

前回はJava SDKを使ってAmazon Elastic MapReduceを起動する方法を説明しました。今回は,前回まで何度か出てきたデバッグモードについて説明します。

ここでは,連載の2回目から4回目までで取り上げたWeb Console,Amazon Elastic MapReduce Ruby Client,Java SDKのそれぞれでデバッグする方法を紹介します。

Web Consoleでデバッグモードを使用するには

Web Consoleでは,Jobを作成する際にデバッグモードを使用するように設定しておく必要があります。具体的な設定個所は以下のとおりです。

図1 デバッグモードでの設定個所

図1 デバッグモードでの設定個所

まずは次の2点を設定してください。

  • 「Enable Debugging」をYesにする
  • 「Amazon S3 Log Path」にログを保存したS3のパスを記入する

また「Enable Hadoop Debugging」をYesにすると,リアルタイムでMapReduceのJobを監視することができます。なお,Enable Hadoop DebuggingはSimpleDBを使用しますので,サインアップしてない場合はサインアップしておく必要があります。

では,両方をYesにして実行してみましょう。

図2のように,EMRのメイン画面の「Debug」ボタンをクリックすると,デバッグ画面が表示されます。なお,⁠Enable Hadoop Debugging」をYesにしていない場合,Jobが完了するまでログを確認することはできません。MapReduceのログは起動したJobのIDで保存されますので,指定したS3パスのJob IDで確認してください(図2の左下部)⁠

図2 ⁠Debug」ボタンをクリック

図2 「Debug」ボタンをクリック

Debugをクリックすると,図3のようなウィンドウが起動します。今回はEnable Hadoop DebuggingをYesにしてあるので,指定したJobよりも前にSetup Hadoop Debuggingが起動しています。このステップで,SimpleDBにログを出力するように設定されます。

図3 デバッグ設定のウィンドウ

図3 デバッグ設定のウィンドウ

「View Jobs」をクリックすると,図4の画面に切り替わります。

図4 Jobの確認

図4 Jobの確認

この画面ではJobが1つ起動しているのがわかると思います。多段MapReduceなど,複数のJobを起動している場合は,ここに複数のJobが表示されます。

それでは,⁠View Tasks」をクリックして,MapReduceのタスクを確認してみましょう。

図5 タスク確認

図5 タスク確認

画面上部の「Task Summary」のところで,タスクの状態を確認することができます。それぞれの意味は以下のとおりです。

Total Tasks
→このJobで実行されるタスクの数(ここでは360)
Completed
→すでに終了しているタスク(ここでは29)
Running
→現在実行されているJobの数(ここでは108)
Failed
→失敗したタスク(ここでは0)
Pending
→現在の待ちタスクの数(ここでは223)
Cancelled
→キャンセルしたタスクの数(ここでは0)

状態は「Refresh List」をクリックするごとに変化するので,随時確認してみてください。

著者プロフィール

小林隆(こばやしりゅう)

クラウド,Hadoopを使ったMapReduce,NoSQL(主にCassandra)を使った開発を行っている。CassndraのGUIをオープンソースで公開。

bloghttp://beter-max.blogspot.com/

URLhttp://twitter.com/ryu_kobayashi/

コメント

コメントの記入