2.7.6 Hadoopジョブ例外検知によるジョブ停止
Multiple jobクライアントは,Hadoopジョブクライアントが出力する標準エラー出力および標準出力を監視します。このとき,出力された情報から特定のキーワードを検知すると,Hadoopジョブクライアントに対してhadoop job -killコマンドを実行し,Hadoopジョブを即時停止します。
Hadoopジョブで例外を検知した際にジョブを停止するには,次の条件を満たす必要があります。
-
uGPS - ViewのHadoopバッチジョブ定義時に,例外検出ファイル名,またはコマンド実行の場合は環境変数MJ_KWFILEに,例外検知キーワードファイルのファイルパス名が指定されている。
-
例外検知キーワードファイルにキーワードが指定されている。
-
Hadoopジョブクライアントの標準エラー出力または標準出力から,例外検知用に指定したキーワードを含んだメッセージなどが出力される。
(1) 例外検知キーワードファイルのファイルパス指定
例外検知キーワードファイルのファイルパスは,環境変数MJ_KWFILEでフルパスで指定しておきます。環境変数MJ_KWFILEで指定できるファイルパスの最大長は258byteです。ファイルパスがフルパス指定ではない,または258byteを超えた場合は,KAKJM0200-Eメッセージが出力されます。環境変数MJ_KWFILEについては,「5.7.1(2) 環境変数の設定」を参照してください。例外検出ファイル名の指定については,7章の「[Hadoopバッチジョブ定義]ダイアログボックス」を参照してください。
(2) 例外検知キーワードファイルの記述方法
例外検知キーワードファイルの記述規則,指定例,および注意事項を次に示します。
- 記述規則
-
-
文字コードは日本語UTF-8です。
-
1行に1つのキーワードを記述します。空行は無視されます。
-
先頭から改行までの文字列がキーワードとして認識されます。
-
コメントは行の先頭に"#"を記述します。先頭以外に"#"を記述すると,コメントとして扱われません。
-
キーワードの先頭が"#"の場合,#を2つ続けて記述します。
-
大文字と小文字は区別されます。
-
キーワードとして"(",")","[","]",".","*","?","+","^","$","\"などの文字を指定する場合は,それらの文字の前に'\'を付けます。
-
1つのキーワードの最大文字数は,'\'を含み128byteです。129byte以上の文字を指定すると,Multiple jobクライアント起動時にKAKJ0202-Eメッセージが出力されて異常終了します。
-
指定できるキーワードの最大数は100です。100を超えてキーワードを指定すると,Multiple jobクライアント起動時にKAKJ0202-Eメッセージが出力されて異常終了します。
-
例外が正しく検知されないおそれがあるため,正規表現では指定しないでください。
-
- 指定例
-
指定するキーワードとその指定例を次に示します。
- 指定するキーワード
-
-
△UAP-Exception△
-
"△IO△Error△"
-
#ABNORMAL△△
-
UAP-Error#
-
- 例外検知キーワードファイルの指定例
#コメント △UAP-Exception△<改行> "△IO△Error△"<改行> ##ABNORMAL△△<改行> UAP-Error#<改行>
- 注意事項
-
-
HDFS上のファイルはキーワードファイルとして使用できませんが,Multiple Jobクライアントを実行するホスト上のフルパスは使用できます。
-
キーワードファイルに日本語UTF-8以外の文字コードを指定すると,動作は保障できません。
-
行の先頭に"#"を2つ続けて記述すると,コメントとして扱われません。
-