Oozie >

note.pngDEPRECATED!: このページの内容は古いです。ご利用は非推奨です。

目次

Yahoo! 公式サイト配布版

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

通常のHadoopクラスタに対して

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

前準備

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

Oozie ワークフローアプリケーションの実行

  1. ジョブを実行し、結果を確認します(以下の例では、ジョブ自体は失敗しています)。
    $ oozie job -oozie http://localhost:8080/oozie -config map-reduce-job.properties -run
    job: 0000000-100704142649046-oozie-alice-W
    $ oozie job -oozie http://localhost:8080/oozie -info 0000000-100704142649046-oozie-alice-W
    Job ID : 0000000-100704142649046-oozie-alice-W
    -------------------------------------------------------------------------------------------
    Workflow Name : map-reduce-wf
    App Path      : hdfs://localhost:9000/tmp/alice/workflows/map-reduce
    Status        : KILLED
    Run           : 0
    User          : alice
    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-alice-W@hadoop1       ERROR    -         ERROR       FS001     
    --------------------------------------------------------------------------------------------

HadoopWithSecurity (Yahoo! Hadoop 0.20.S Virtual Machine)クラスタに対して

前準備

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

Oozie ワークフローアプリケーションの実行

  1. 環境にあわせて、アプリケーションの設定ファイルを変更します。
    oozie.wf.application.path=hdfs://localhost:8020/tmp/alice/workflows/map-reduce
    
    jobTracker=localhost:50300
    nameNode=hdfs://localhost:8020
    
    mapreduce.jobtracker.kerberos.principal=mapred/localhost@LOCALDOMAIN
    dfs.namenode.kerberos.principal=hdfs/localhost@LOCALDOMAIN
  2. ジョブを発行します。
    • 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-oozi-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(Introduced SASL security layer)となっています。
      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 配布版

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

前準備

$ 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クラスタに対して

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

Map/Reduceジョブ

  1. 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
  2. ジョブの状態を確認すると、サスペンドされています。ログを確認すると、JobTracker のURL設定が適切ではないようです。
    $ 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/alice/workflows/map-reduce
    Status        :  SUSPENDED
    Run           :  0
    User          :  alice
    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         -                       -
    -----------------------------------------------------------------------------------------------------
  3. 一度、ジョブをkillします。
    $ oozie job -oozie http://localhost:8080/oozie -kill 0000000-100719100607118-oozie-tomc
  4. ジョブ設定ファイル(map-reduce-job.properties)の以下の箇所を修正し、再度実行します。
    1. jobTracker=localhost:8021
    2. #jobTracker=localhost:9001
  5. 今後は成功したようです。
    $ 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/alice/workflows/map-reduce
    Status        :  SUCCEEDED
    Run           :  0
    User          :  alice
    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)クラスタに対して

前準備

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

Oozie の Kerberos 認証設定を無効のまま(参考テスト)

  • 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
Last-modified: 2012-07-30 (月) 11:11:04 (2688d)