[[Oozie]] >

* 目次 [#e7bfa43c]
#contents

* Yahoo! 公式サイト配布版 [#pa24c824]
Coming Soon.

- ソースからビルドした Ver. 2.0.2.1 で検証しています。
- サンプルジョブもソースにバンドルされているものです。

** 通常のHadoopクラスタに対して [#bcec5463]

- (HadoopWithSecurity ではなく)通常のHadoopクラスタを対象に、Oozie のKerberos認証は無効にしていた場合(つまり、ユーザ認証などは行われない)。

*** 前準備 [#f3e51040]

+ ビルドされたサンプルを展開します。
 $ tar xvzf oozie-examples.tar.gz
 $ cd examples
+ 前準備のためのスクリプトを実行し、入力データとワークフローアプリケーションを HDFS にコピーします。
 $ prepare-examples.sh
 $ hadoop fs -put input-data input-data
 $ hadoop fs -put workflows /tmp/`whoami`/workflows

*** Oozie ワークフローアプリケーションの実行 [#c2897f15]

+ ジョブを実行し、結果を確認します(以下の例では、ジョブ自体は失敗しています)。
 $ oozie job -oozie http://localhost:8080/oozie -config map-reduce-job.properties -run
 job: 0000000-100704142649046-oozie-username-W
 $ oozie job -oozie http://localhost:8080/oozie -info 0000000-100704142649046-oozie-username-W
 Job ID : 0000000-100704142649046-oozie-username-W
 -------------------------------------------------------------------------------------------
 Workflow Name : map-reduce-wf
 App Path      : hdfs://localhost:9000/tmp/username/workflows/map-reduce
 Status        : KILLED
 Run           : 0
 User          : username
 Group         : users
 Created       : 2010-07-04 05:40
 Started       : 2010-07-04 05:40
 Last Modified : 2010-07-04 05:40
 Ended         : 2010-07-04 05:40
 
 Actions
 --------------------------------------------------------------------------------------------
 ID                                                  Status   Ext ID    Ext  Status Err Code  
 --------------------------------------------------------------------------------------------
 0000000-100704142649046-oozie-username-W@hadoop1    ERROR    -         ERROR       FS001     
 --------------------------------------------------------------------------------------------

** HadoopWithSecurity (Yahoo! Hadoop 0.20.S Virtual Machine)クラスタに対して [#u7fc096b]

*** 前準備 [#ue489b2c]

+ [[Hadoop クラスタとのセキュアな連携設定>Oozieインストール]]行っておきます。
+ TGT をキャッシュしてから、データとワークフローアプリケーションをHDFSにアップロードします。
 $ kinit
 ...
 $ hadoop fs -put input-data input-data
 $ hadoop fs -put workflows /tmp/`whoami`/workflows

*** Oozie ワークフローアプリケーションの実行 [#q1632217]

- Yahoo! Hadoop 0.20.S Virtual Machine(''0.20.104.1'') 向けにビルドされた Oozie サーバでは、ジョブの発行に成功します。
 $ oozie version
 Oozie client build version: 2.0.2.1-0.20.104.1--
 $ oozie admin -oozie http://localhost:8080/oozie -version
 Oozie server build version: 2.0.2.1-0.20.104.1--
 $ oozie job -oozie http://localhost:8080/oozie -config map-reduce-job.properties -run
 job: 0000002-100730180040267-oozie-tomc-W
- 参考までに、デフォルトの Hadoop ''0.20.2'' 向けにビルドされた Oozie では、認可オペレーションが実行できずに失敗します。
 $ oozie version
 Oozie client build version: 2.0.2.1-0.20.2--
 $ oozie admin -oozie http://localhost:8080/oozie -version
 Oozie server build version: 2.0.2.1-0.20.2--
 $ oozie job -oozie http://localhost:8080/oozie -config map-reduce-job.properties -run
 Error: E0501 : E0501: Could not perform authorization operation,
 Call to localhost/127.0.0.1:8020 failed on local exception: java.io.EOFException
-- NameNode のログを確認してみると、IPCプロトコルのバージョンが食い違っているのが分かります。HadoopWithSecurity のプロトコルバージョンは、4なのでしょう。
 2010-07-30 13:05:38,650 WARN org.apache.hadoop.ipc.Server: Incorrect header
 or version mismatch from 127.0.0.1:43456 got version 3 expected version 4

* Cloudera 配布版 [#kc31c13a]

- Oozie は、CDH3 のバイナリ配布(Debianパッケージ、1.6.2-0.20.2-320--SNAPSHOT)されているものです。
- サンプルジョブは、CDH3 の Oozie tarボールに同梱されているものです。

** 前準備 [#f81804c6]

 $ tar xvzf oozie-examples.tar.gz
 $ cd examples
 $ ./prepare-examples.sh
 $ hadoop fs -put input-data input-data
 $ hadoop fs -put workflows /tmp/`whoami`/workflows

** 通常のHadoopクラスタに対して [#mba07f48]
- (HadoopWithSecurity ではなく)通常のHadoopクラスタを対象に、Oozie のKerberos認証は無効にしていた場合(つまり、ユーザ認証などは行われない)。

*** Map/Reduceジョブ [#w10585a9]

+ Map/Reduceジョブを実行してみます。
 $ oozie version
 Oozie client build version: 1.6.2-0.20.2-320--SNAPSHOT
 $ oozie job -oozie http://localhost:8080/oozie -config map-reduce-job.properties -run
 job: 0000000-100719100607118-oozie-tomc
+ ジョブの状態を確認すると、サスペンドされています。ログを確認すると、JobTracker のURL設定が適切ではないようです。
#geshi(){{
$ oozie job -oozie http://localhost:8080/oozie -info 0000000-100719100607118-oozie-tomc
Job Id: 0000000-100719100607118-oozie-tomc
-----------------------------------------------------------------------------------------------------
Workflow Name :  map-reduce-wf
App Path      :  hdfs://localhost:8020/tmp/hadoop/workflows/map-reduce
Status        :  SUSPENDED
Run           :  0
User          :  hadoop
Group         :  users
Created       :  2010-07-19 03:16 +0000
Started       :  2010-07-19 03:16 +0000
Last Modified :  2010-07-19 03:20 +0000
Ended         :  -

Actions
-----------------------------------------------------------------------------------------------------
Action Name    Type        Status     Transition   Ext. Id               Ext. Status     Error Code    Started                 Ended
-----------------------------------------------------------------------------------------------------
hadoop1        map-reduce  START_MANUAL-            -                     -               JA006         -                       -
-----------------------------------------------------------------------------------------------------
}}
+ 一度、ジョブをkillします。
 $ oozie job -oozie http://localhost:8080/oozie -kill 0000000-100719100607118-oozie-tomc
+ ジョブ設定ファイル(map-reduce-job.properties)の以下の箇所を修正し、再度実行します。
#geshi(bash,number){{
jobTracker=localhost:8021
#jobTracker=localhost:9001
}}
+ 今後は成功したようです。
#geshi(){{
$ oozie job -oozie http://localhost:8080/oozie -config map-reduce-job.properties -run
job: 0000001-100719100607118-oozie-tomc
$ oozie job -oozie http://localhost:8080/oozie -info 0000001-100719100607118-oozie-tomc
Job Id: 0000001-100719100607118-oozie-tomc
-----------------------------------------------------------------------------------------------------
Workflow Name :  map-reduce-wf
App Path      :  hdfs://localhost:8020/tmp/hadoop/workflows/map-reduce
Status        :  SUCCEEDED
Run           :  0
User          :  hadoop
Group         :  users
Created       :  2010-07-19 03:35 +0000
Started       :  2010-07-19 03:35 +0000
Last Modified :  2010-07-19 03:36 +0000
Ended         :  2010-07-19 03:36 +0000

Actions
-----------------------------------------------------------------------------------------------------
Action Name    Type       Status    Transition  Ext. Id              Ext. Status    Error Code   
Started                 Ended
-----------------------------------------------------------------------------------------------------
hadoop1        map-reduce OK        end         job_201007191034_0002 SUCCEEDED      -            
2010-07-19 03:36 +0000  2010-07-19 03:36 +0000
-----------------------------------------------------------------------------------------------------
}}

** HadoopWithSecurity (Yahoo! Hadoop 0.20.S Virtual Machine)クラスタに対して [#a6f88742]

*** 前準備 [#ue489b2c]

- TGT をキャッシュしてから、データとワークフローアプリケーションをHDFSにアップロードします。
 $ kinit
 ...
 $ hadoop fs -put input-data input-data
 $ hadoop fs -put workflows /tmp/`whoami`/workflows

*** Oozie の Kerberos 認証設定を無効のまま(参考テスト) [#o50aabbd]

- Oozieの設定不備状態を意味しますが、試みにジョブを実行してみます。
- 認可オペレーションが実行できずに失敗します。
 $ oozie job -oozie http://localhost:8080/oozie -config map-reduce-job.properties -run
 Error: E0501 : E0501: Could not perform authorization operation,
 Call to localhost/127.0.0.1:8020 failed on local exception: java.io.EOFException
-- NameNode のログを確認してみると、認可以前にIPCプロトコルのバージョンが食い違っているようです。Cloudera 配布版は、Hadoop 0.20.2 向けにビルドされているので、当然といえます。
 2010-07-28 00:02:18,442 WARN org.apache.hadoop.ipc.Server: Incorrect header
 or version mismatch from 127.0.0.1:49822 got version 3 expected version 4


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS