Oozieインストール >

目次

他のバージョンのセットアップ

  1. Oozie3.1インストール - Apache Oozieから配布された最初のバージョン
  2. Oozie2.0インストール - DEPRECATED米Yahoo!から配布された古いバージョン

セットアップ

ビルド

  1. Oozie 3.2.0はソースのみが配布されていますので、まずはビルドします。要件を満たした上でMavenでビルドします。配布アーカイブとして distro/target/oozie-3.2.0-incubating-distro.tar.gz が生成されます。
    $ tar xvzf oozie-3.2.0-incubating.tar.gz
    $ cd oozie-3.2.0-incubating/
    $ mvn clean package assembly:single -DskipTests
    ...

Oozieサーバの基本セットアップ

  1. Oozie起動ユーザ(完全分散の場合にはLDAP等に)を追加します。
    $ sudo adduser --shell /bin/sh --uid 10015 --disabled-password oozie
    $ sudo usermod -G hadoop oozie
  2. バイナリパッケージを適当な場所に展開します。
    $ sudo tar xvzf oozie-3.2.0-incubating-distro.tar.gz -C /grid/usr
    $ cd /grid/usr
    $ sudo ln -s oozie-3.2.0-incubating oozie
  3. Oozieの環境設定ファイル(conf/oozie-env.sh)を環境にあわせて編集します。これは疑似分散環境での例ですので、localhostを明示しています。
    1. export JAVA_HOME=/usr/lib/jvm/java-6-sun
    2. #export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
    3. #export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-i386
    4. #export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64
    5. export OOZIE_LOG=/grid/vol/0/var/log/oozie
    6. #export CATALINA_PID=/grid/vol/0/var/run/oozie/oozie.pid
    7. export OOZIE_HTTP_HOSTNAME=localhost
  4. Hadoop(ターゲットのバージョン、この例では1.0.3)とExtJS-2.2の配布アーカイブをそれぞれダウンロードし、Hadoopについては適当なところに展開しておきます。
  5. パーミッションを適切に変更してからセットアップスクリプトを実行しカスタマイズされたWebアーカイブを配備します。デフォルト設定では、バックエンドデータベースとして組み込みのDerbyが使用されます。スクリプトが陳腐化しておりHadoopのバージョンが 0.20.200 までしか指定できませんが、問題ないようですので現在の安定版である 1.0.3 のライブラリを指定します。
    $ cd /grid/usr/oozie
    $ sudo chown -R oozie:oozie ../oozie-3.2.0-incubating/
    $ sudo -u oozie bin/oozie-setup.sh -hadoop 0.20.200 /grid/usr/hadoop-1.0.3 -extjs ~/tmp/ext-2.2.zip
      setting JAVA_HOME=/usr/lib/jvm/java-6-sun
      setting OOZIE_LOG=/grid/vol/0/var/log/oozie
      setting OOZIE_HTTP_HOSTNAME=localhost
    New Oozie WAR file with added 'Hadoop JARs, ExtJS library' at /grid/usr/oozie-3.2.0-incubating/oozie-server/webapps/oozie.war
    INFO: Oozie is ready to be started
  6. note.png展開したままでは oozie-server/ 以下がなぜかフルアクセス状態ですので、パーミッションを適切に絞ります。
    $ find ./oozie-server -type d -print | sudo xargs chmod 755
    $ find ./oozie-server -type f -print | sudo xargs chmod o-wx
  7. 設定ファイル(conf/oozie-site.xml)を編集します。初回起動時にバックエンドデータベースを作成するため、oozie.service.JPAService.create.db.schematrue を設定します。また、アクセス先のクラスタ(NameNodeJobTracker)をホワイトリストに列挙し、それらのアクセス時に使用されるHadoopの設定ファイルセットを oozie.service.HadoopAccessorService?.hadoop.configurations に設定します。設定ファイルセットは実際にクラスタで使用しているものを利用すべきでしょう。デフォルトで無効になっているOozieが扱うデータに対するアクセス認可サービス(oozie.service.AuthorizationService?.authorization.enabled)も有効にします。
    1.     <property>
    2.         <name>oozie.service.JPAService.create.db.schema</name>
    3.         <value>true</value>
    4.         <!-- <value>false</value> -->
    5.         <description>
    6.             Creates Oozie DB.
    7.  
    8.             If set to true, it creates the DB schema if it does not exist. If the DB schema exists is a NOP.
    9.             If set to false, it does not create the DB schema. If the DB schema does not exist it fails start up.
    10.         </description>
    11.     </property>
    12.     <property>
    13.         <name>oozie.service.HadoopAccessorService.jobTracker.whitelist</name>
    14.         <value>localhost:9001</value>
    15.         <!-- <value>pleiades-jt.grid.example.com:9001</value> -->
    16.         <!-- default: <value> </value> -->
    17.         <description>
    18.             Whitelisted job tracker for Oozie service.
    19.         </description>
    20.     </property>
    21.     <property>
    22.         <name>oozie.service.HadoopAccessorService.nameNode.whitelist</name>
    23.         <value>localhost:9000</value>
    24.         <!-- <value>pleiades-nn.grid.example.com:9000</value> -->
    25.         <!-- default: <value> </value> -->
    26.         <description>
    27.             Whitelisted name node for Oozie service.
    28.         </description>
    29.     </property>
    30.     <property>
    31.         <name>oozie.service.HadoopAccessorService.hadoop.configurations</name>
    32.         <value>*=/grid/usr/hadoop/conf,localhost:9000=/grid/usr/hadoop/conf,localhost:9001=/grid/usr/hadoop/conf</value>
    33.         <!--
    34.         <value>pleiades-nn.grid.example.com:9000=/grid/usr/hadoop/conf,pleiades-jt.grid.example.com:9001=/grid/usr/hadoop/conf</value>
    35.         <value>*=hadoop-conf</value>
    36.          -->
    37.         <description>
    38.             Comma separated AUTHORITY=HADOOP_CONF_DIR, where AUTHORITY is the HOST:PORT of
    39.             the Hadoop service (JobTracker, HDFS). The wildcard '*' configuration is
    40.             used when there is no exact match for an authority. The HADOOP_CONF_DIR contains
    41.             the relevant Hadoop *-site.xml files. If the path is relative is looked within
    42.             the Oozie configuration directory; though the path can be absolute (i.e. to point
    43.             to Hadoop client conf/ directories in the local filesystem.
    44.         </description>
    45.     </property>
    46.     <property>
    47.         <name>oozie.service.AuthorizationService.authorization.enabled</name>
    48.         <value>true</value>
    49.         <description>
    50.             Specifies whether security (user name/admin role) is enabled or not.
    51.             If disabled any user can manage Oozie system and manage any job.
    52.         </description>
    53.     </property>
    54.     <property>
    55.         <name>oozie.service.AuthorizationService.default.group.as.acl</name>
    56.         <value>false</value>
    57.         <description>
    58.             Enables old behavior where the User's default group is the job's ACL.
    59.         </description>
    60.     </property>
  8. アクセス認可サービスを有効にしましたので、Oozie管理ユーザを conf/adminusers.txt にリストします。できれば、これらの権限認可はLDAP等に委譲したいところです。
  9. 起動と停止方法は以下の通りです。
    $ sudo -u oozie bin/oozie-start.sh
    $ bin/oozie admin -oozie http://localhost:11000/oozie -status
    System mode: NORMAL
    $ sudo -u oozie bin/oozie-stop.sh
  10. WebコンソールのURLは以下のとおりです。
    http://localhost:11000/oozie/

Oozieバックエンドデータベースの切り替え

  • デフォルトの組み込みDerbyでは本運用のデータベースとしては不十分ですので、MySQLなどに変更します。
  1. データベースとアクセスユーザを用意します。
    1. MySQLをインストールします。
      1. debian.pngDebian
        $ sudo apt-get install --no-install-recommends  mysql-server
      2. centos.pngCentOS
        $ sudo yum install mysql-server
        $ sudo /etc/init.d/mysqld start --skip-grant-tables
        $ sudo mysqladmin -u root password 'change_on_install'
        $ sudo /etc/init.d/mysqld restart
        $ sudo chkconfig mysqld on
    2. Oozieが使用するデータベースをセットアップします。
      $ mysql -u root -p
      Enter password:
      ...
      mysql> create database oozie;
      Query OK, 1 row affected (0.00 sec)
      mysql> grant all privileges on oozie.* to 'oozie'@'localhost' identified by 'change_on_install';
      Query OK, 0 rows affected (0.00 sec)
  2. MySQLのJDBCドライバをダウンロードします。
  3. Webアーカイブに同梱するJDBCドライバを -jars オプションに指定して、Webアーカイブを作成し直します。
    $ sudo -u oozie bin/oozie-setup.sh -hadoop 0.20.200 /grid/usr/hadoop-1.0.3 -extjs ~/tmp/ext-2.2.zip \
    > -jars ~/tmp/mysql-connector-java-5.1.21/mysql-connector-java-5.1.21-bin.jar 
      setting JAVA_HOME=/usr/lib/jvm/java-6-sun
      setting OOZIE_LOG=/grid/vol/0/var/log/oozie
      setting OOZIE_HTTP_HOSTNAME=localhost
    New Oozie WAR file with added 'Hadoop JARs, ExtJS library, JARs' at /grid/usr/oozie-3.2.0-incubating/oozie-server/webapps/oozie.war
    INFO: Oozie is ready to be started
  4. conf/oozie-site.xml を編集します。Oozieを再起動し反映させます。
    1.     <property>
    2.         <name>oozie.db.schema.name</name>
    3.         <value>oozie</value>
    4.         <description>
    5.             Oozie DataBase Name
    6.         </description>
    7.     </property>
    8.     <property>
    9.         <name>oozie.service.JPAService.create.db.schema</name>
    10.         <value>true</value>
    11.         <!-- <value>false</value> -->
    12.         <description>
    13.             Creates Oozie DB.
    14.             If set to true, it creates the DB schema if it does not exist. If the DB schema exists is a NOP.
    15.             If set to false, it does not create the DB schema. If the DB schema does not exist it fails start up.
    16.         </description>
    17.     </property>
    18.     <property>
    19.         <name>oozie.service.JPAService.jdbc.driver</name>
    20.         <value>com.mysql.jdbc.Driver</value>
    21.         <!-- <value>org.apache.derby.jdbc.EmbeddedDriver</value> -->
    22.         <description>
    23.             JDBC driver class.
    24.         </description>
    25.     </property>
    26.     <property>
    27.         <name>oozie.service.JPAService.jdbc.url</name>
    28.         <value>jdbc:mysql://localhost:3306/${oozie.db.schema.name}</value>
    29.         <!-- <value>jdbc:derby:${oozie.data.dir}/${oozie.db.schema.name}-db;create=true</value> -->
    30.         <description>
    31.             JDBC URL.
    32.         </description>
    33.     </property>
    34.     <property>
    35.         <name>oozie.service.JPAService.jdbc.username</name>
    36.         <value>oozie</value>
    37.         <!-- <value>sa</value> -->
    38.         <description>
    39.             DB user name.
    40.         </description>
    41.     </property>
    42.     <property>
    43.         <name>oozie.service.JPAService.jdbc.password</name>
    44.         <value>change_on_install</value>
    45.         <!-- <value> </value> -->
    46.         <description>
    47.             DB user password.
    48.             IMPORTANT: if password is emtpy leave a 1 space string, the service trims the value,
    49.                        if empty Configuration assumes it is NULL.
    50.         </description>
    51.     </property>
    52.     <property>
    53.         <name>oozie.service.JPAService.pool.max.active.conn</name>
    54.         <value>10</value>
    55.         <description>
    56.              Max number of connections.
    57.         </description>
    58.     </property>

OozieのHadoopWithSecurityへの対応

  1. Hadoopにアクセスするためのプリンシパルを追加します。
    $ sudo kadmin.local
    Authenticating as principal root/admin@LOCALHOST with password.
    kadmin.local:  add_principal -randkey oozie/localhost
    WARNING: no policy specified for oozie/localhost@LOCALHOST; defaulting to no policy
    Principal "oozie/localhost@LOCALHOST" created.
    kadmin.local:  ktadd -k /grid/etc/keytabs/localhost.keytab oozie/localhost
    ...
  2. conf/oozie-site.xml にKerberos認証のための設定を行います。なお、アクセス先のNameNodeJobTracker(またはResourceManager?)のサービスプリンシパルは、上述の oozie.service.HadoopAccessorService?.hadoop.configurations の設定に依存しますので注意してください。Oozie上での Secure Impersonation も可能ですが、ここでは割愛します。Oozieを再起動し反映させます。
    1.     <property>
    2.         <name>oozie.service.HadoopAccessorService.kerberos.enabled</name>
    3.         <value>true</value>
    4.         <!-- <value>false</value> -->
    5.         <description>
    6.             Indicates if Oozie is configured to use Kerberos.
    7.         </description>
    8.     </property>
    9.     <property>
    10.         <name>local.realm</name>
    11.         <value>LOCALHOST</value>
    12.         <!-- <value>GRID.EXAMPLE.COM</value> -->
    13.         <description>
    14.             Kerberos Realm used by Oozie and Hadoop. Using 'local.realm' to be aligned with Hadoop configuration
    15.         </description>
    16.     </property>
    17.     <property>
    18.         <name>oozie.service.HadoopAccessorService.keytab.file</name>
    19.         <value>/grid/etc/keytabs/localhost.keytab</value>
    20.         <!-- <value>${user.home}/oozie.keytab</value> -->
    21.         <description>
    22.             Location of the Oozie user keytab file.
    23.         </description>
    24.     </property>
    25.     <property>
    26.         <name>oozie.service.HadoopAccessorService.kerberos.principal</name>
    27.         <value>${user.name}/localhost@${local.realm}</value>
    28.         <!-- <value>${user.name}/pleiades-wf.grid.example.com@${local.realm}</value> -->
    29.         <description>
    30.             Kerberos principal for Oozie service.
    31.         </description>
    32.     </property>
  3. Hadoopクラスタ側(conf/core-site.xml)で、ProxyUserの設定を行います。Hadoop各デーモンを再起動し反映させます。
    1.     <property>
    2.         <name>hadoop.proxyuser.oozie.hosts</name>
    3.         <value>localhost</value>
    4.         <!-- <value>${this.cluster.name}-wf.${this.domain},wf00.${this.domain},wf01.${this.domain}</value> -->
    5.     </property>
    6.     <property>
    7.         <name>hadoop.proxyuser.oozie.groups</name>
    8.         <value>hadoopers</value>
    9.     </property>

REST APIとWebコンソールのSPNEGO/Kerberos設定

  1. 疑似分散環境では、すでにサービスプリンシパル(HTTP/localhost@LOCALHOST)は追加済みでしょう。
  2. conf/oozie-site.xml を適切に編集します。Oozieを再起動し反映させます。
    1.     <property>
    2.         <name>oozie.authentication.type</name>
    3.         <value>kerberos</value>
    4.         <!-- <value>simple</value> -->
    5.         <description>
    6.             Defines authentication used for Oozie HTTP endpoint.
    7.             Supported values are: simple | kerberos | #AUTHENTICATION_HANDLER_CLASSNAME#
    8.         </description>
    9.     </property>
    10.     <property>
    11.         <name>oozie.authentication.token.validity</name>
    12.         <value>36000</value>
    13.         <description>
    14.             Indicates how long (in seconds) an authentication token is valid before it has
    15.             to be renewed.
    16.         </description>
    17.     </property>
    18.     <property>
    19.         <name>oozie.authentication.signature.secret</name>
    20.         <value>oozie</value>
    21.         <description>
    22.             The signature secret for signing the authentication tokens.
    23.             If not set a random secret is generated at startup time.
    24.             In order to authentiation to work correctly across multiple hosts
    25.             the secret must be the same across al the hosts.
    26.         </description>
    27.     </property>
    28.     <property>
    29.       <name>oozie.authentication.cookie.domain</name>
    30.       <value>localhost</value>
    31.       <!-- <value>grid.example.com</value> -->
    32.       <!-- default: <value></value> -->
    33.       <description>
    34.         The domain to use for the HTTP cookie that stores the authentication token.
    35.         In order to authentiation to work correctly across multiple hosts
    36.         the domain must be correctly set.
    37.       </description>
    38.     </property>
    39.     <property>
    40.         <name>oozie.authentication.simple.anonymous.allowed</name>
    41.         <value>true</value>
    42.         <description>
    43.             Indicates if anonymous requests are allowed.
    44.             This setting is meaningful only when using 'simple' authentication.
    45.         </description>
    46.     </property>
    47.     <property>
    48.         <name>oozie.authentication.kerberos.principal</name>
    49.         <value>HTTP/localhost@${local.realm}</value>
    50.         <!-- <value>HTTP/pleiades-wf.grid.example.com@${local.realm}</value> -->
    51.         <description>
    52.             Indicates the Kerberos principal to be used for HTTP endpoint.
    53.             The principal MUST start with 'HTTP/' as per Kerberos HTTP SPNEGO specification.
    54.         </description>
    55.     </property>
    56.     <property>
    57.         <name>oozie.authentication.kerberos.keytab</name>
    58.         <value>${oozie.service.HadoopAccessorService.keytab.file}</value>
    59.         <description>
    60.             Location of the keytab file with the credentials for the principal.
    61.             Referring to the same keytab file Oozie uses for its Kerberos credentials for Hadoop.
    62.         </description>
    63.     </property>
    64.     <property>
    65.         <name>oozie.authentication.kerberos.name.rules</name>
    66.         <value>DEFAULT</value>
    67.         <description>
    68.             The kerberos names rules is to resolve kerberos principal names, refer to Hadoop's
    69.             KerberosName for more details.
    70.         </description>
    71.     </property>

Oozieクライアントのインストール

  1. 適当な場所に展開します。
    $ sudo tar xvzf oozie-client-3.2.0-incubating.tar.gz -C /grid/usr
    $ cd /grid/usr
    $ sudo ln -s oozie-client-3.2.0-incubating oozie-client

SPNEGO/Kerberos設定されたサーバへのアクセス方法

Oozieコマンド(-> REST API)

  1. まずTGTを取得します。
    $ sudo -u alice kinit
  2. -auth KERBEROS オプションを追加して実行します。
    $ sudo -u alice bin/oozie jobs -oozie http://localhost:11000/oozie -auth KERBEROS
    No Jobs match your criteria!
    • note.png以下のようなエラーが出る場合には、環境変数 JAVA_HOME がきちんと設定されているか確認してください。
      1. Exception in thread "main" java.lang.NoClassDefFoundError: com.sun.security.auth.module.Krb5LoginModule
      2.    at org.apache.hadoop.security.authentication.client.KerberosAuthenticator$KerberosConfiguration.<clinit>(KerberosAuthenticator.java:99)
      3. ...

Webコンソール

Oozie共有ライブラリのインストール

  • Oozieには、ジョブ実行時に必要な共有ランタイムライブラリを提供する仕組みがあります。以下の要領でセットアップを行います。
  1. HDFS上のOozieユーザのホームディレクトリに共有ライブラリをコピーします。
    $ sudo -u hdfs kinit
    $ sudo -u hdfs /grid/usr/hadoop/bin/hadoop fs -mkdir /user/oozie
    $ sudo -u hdfs /grid/usr/hadoop/bin/hadoop fs -chown oozie:oozie /user/oozie
    
    $ cd /grid/usr/oozie
    $ sudo tar xvzf oozie-sharelib-3.2.0-incubating.tar.gz
    $ sudo -u oozie kinit -kt /grid/etc/keytabs/localhost.keytab oozie/localhost@LOCALHOST
    $ sudo -u oozie /grid/usr/hadoop/bin/hadoop fs -put share/lib share/lib-3.2.0
  2. これらの共有ライブラリのパスは、oozie.service.WorkflowAppService?.system.libpath で設定します。
    1.     <property>
    2.         <name>oozie.service.WorkflowAppService.system.libpath</name>
    3.         <value>/user/${user.name}/share/lib-3.2.0</value>
    4.         <!-- default: <value>/user/${user.name}/share/lib</value> -->
    5.         <description>
    6.             System library path to use for workflow applications.
    7.             This path is added to workflow application if their job properties sets
    8.             the property 'oozie.use.system.libpath' to true.
    9.         </description>
    10.     </property>
    11.     <property>
    12.         <name>use.system.libpath.for.mapreduce.and.pig.jobs</name>
    13.         <value>false</value>
    14.         <description>
    15.             If set to true, submissions of MapReduce and Pig jobs will include
    16.             automatically the system library path, thus not requiring users to
    17.             specify where the Pig JAR files are. Instead, the ones from the system
    18.             library path are used.
    19.         </description>
    20.     </property>

サンプルワークフロー

ワークフローアプリケーションのアップロード

  1. 同梱のサンプルワークフローを展開し、HDFSにアップロードします。
    $ tar xvzf oozie-examples.tar.gz
    $ sudo -u alice hadoop fs -put examples oozie-examples

MapReduce?サンプルワークフロー

  1. MapReduce?のサンプルワークフローを実行するため、設定ファイル(examples/apps/map-reduce/job.properties)を環境にあわせて変更します。
    1. nameNode=hdfs://localhost:9000
    2. jobTracker=localhost:9001
    3. queueName=default
    4. examplesRoot=oozie-examples
    5.  
    6. oozie.wf.application.path=${nameNode}/user/${user.name}/${examplesRoot}/apps/map-reduce
    7. outputDir=map-reduce
  2. 以下の要領でジョブを発行します。
    $ sudo -u alice /grid/usr/oozie/bin/oozie job -oozie http://localhost:11000/oozie -auth KERBEROS \
    > -config examples/apps/map-reduce/job.properties -run
    job: 0000000-120803193745084-oozie-oozi-W
    $ sudo -u alice /grid/usr/oozie/bin/oozie job -oozie http://localhost:11000/oozie -auth KERBEROS \
    > -info 0000000-120803193745084-oozie-oozi-W
    Job ID : 0000000-120803193745084-oozie-oozi-W
    ------------------------------------------------------------------------------------------------
    Workflow Name : map-reduce-wf
    App Path      : hdfs://localhost:9000/user/alice/oozie-examples/apps/map-reduce
    Status        : SUCCEEDED
    Run           : 0
    User          : alice
    Group         : -
    Created       : 2012-08-03 10:38
    Started       : 2012-08-03 10:38
    Last Modified : 2012-08-03 10:39
    Ended         : 2012-08-03 10:39
    CoordAction ID: -
    
    Actions
    ------------------------------------------------------------------------------------------------
    ID                                            Status  Ext ID                 Ext Status Err Code  
    ------------------------------------------------------------------------------------------------
    0000000-120803193745084-oozie-oozi-W@mr-node  OK      job_201208030836_0015  SUCCEEDED  -         
    ------------------------------------------------------------------------------------------------

Pigサンプルワークフロー

  1. 設定ファイル(examples/apps/pig/job.properties)を環境にあわせて変更します。Oozieの共有ライブラリを利用するため、oozie.use.system.libpathtrue に設定しています。
    1. nameNode=hdfs://localhost:9000
    2. jobTracker=localhost:9001
    3. queueName=default
    4. examplesRoot=oozie-examples
    5.  
    6. oozie.use.system.libpath=true
    7.  
    8. oozie.wf.application.path=${nameNode}/user/${user.name}/${examplesRoot}/apps/pig
  2. 以下の要領で発行します。
    $ sudo -u alice /grid/usr/oozie/bin/oozie job -oozie http://localhost:11000/oozie -auth KERBEROS \
    > -config examples/apps/pig/job.properties -run
    job: 0000001-120804144617863-oozie-oozi-W
    $ sudo -u alice /grid/usr/oozie/bin/oozie job -oozie http://localhost:11000/oozie -auth KERBEROS \
    > -info 0000001-120804144617863-oozie-oozi-W
    Job ID : 0000001-120804144617863-oozie-oozi-W
    ------------------------------------------------------------------------------------------------
    Workflow Name : pig-wf
    App Path      : hdfs://localhost:9000/user/alice/oozie-examples/apps/pig
    Status        : SUCCEEDED
    Run           : 0
    User          : alice
    Group         : -
    Created       : 2012-08-04 05:54
    Started       : 2012-08-04 05:54
    Last Modified : 2012-08-04 05:55
    Ended         : 2012-08-04 05:55
    CoordAction ID: -
    
    Actions
    ------------------------------------------------------------------------------------------------
    ID                                             Status  Ext ID                 Ext Status Err Code
    ------------------------------------------------------------------------------------------------
    0000001-120804144617863-oozie-oozi-W@pig-node  OK      job_201208041438_0004  SUCCEEDED  -
    ------------------------------------------------------------------------------------------------

リソース

  1. http://incubator.apache.org/oozie/docs/3.2.0-incubating/docs/
  2. http://incubator.apache.org/oozie/docs/3.2.0-incubating/docs/ENG_Building.html

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-08-05 (日) 12:27:14 (2682d)