[元]Oozieワークフローのプロパティ構成の方法とポリシー

2048 ワード

Oozieワークフローのプロパティ構成の3つの方法


Oozieには、ワークフローのプロパティ構成を提供する3つの方法があります.
  • App配置フォルダルートディレクトリの下:config-default.xml
  • ジョブ属性ファイル:job.properties
  • コマンドラインで属性を指定します:-Dkey=value
  • Oozieワークフローのプロパティ構成のポリシー(ベストプラクティス)


    率直に言えば、3つの構成が重なり合っており、すべて使用すると、属性の構成が分散しすぎて、属性の検索と位置決めが煩雑になります.私の個人的な経験では、私はこのようにする傾向があります.
  • 静的で、起動毎に変更する構成項目は生成されず、すべてconfig-defaultに配置される.xmlは、このファイルがOozie配備(self-containedアプリケーション)を含むアプリケーション仕様の一部であるため、J 2 EEの中webのように自動的にロードされて読み出す.xmlは同じなので、静的な構成項目をここに書くのが理想です.
  • 動的には、起動のたびに変化する構成項目(典型的な例はcoordinatorのstart time)について、コマンドラインで指定するのが最適である.
  • 通常、mavenなどの多くの構築ツールは、構築時にbuildのターゲット環境に基づいてプロファイルの変数を置き換えることができます.この特性を利用してconfig-defaultを使用する必要があります.xmlとコマンドライン(コマンドラインスクリプトがある場合)の環境に関連するプロパティを構築時に置き換えます.典型的な例はnameNodeとjobTrackerである.
  • jobの使用を避ける.properties、job.propertiesはローカルファイルで、config-defaultは明らかにありません.xmlは便利です.config-defaultです.xmlは自己包含です.

  • 以上のように、ワークフローを簡潔に起動するコマンドラインは、まずoozieを指定する.wf.application.その通りだcoord.application.その通りだbundle.application.pathは、少なくともoozieにアプリケーションがどこに置かれているかを教えて、コマンドラインから動的パラメータを指定する必要があります.したがって、コマンドラインを使用してワークフローを開始すると、次のようになります.
      oozie job -run \
    -Doozie.wf.application.path=hdfs://your-namenode:8020/your/app/path \
    -DPARAM1=${PARAM1} \
    -DPARAM1=${PARAM2}

    , hdfs://your-namenode:8020/your/app/path/config-default.xml 。

    Oozieワークフロー の

    , , oozie :

      - Properties that are a valid Java identifier, [A-Za-z_][0-9A-Za-z_]* , are available as '${NAME}' variables within the workflow definition.
    
    - **Properties that are not valid Java Identifier, for example 'job.tracker'**, are available via the String wf:conf(String name) function.
    

    , , Oozie , 、 , job.tracker !

    :bluishglc 2015/5/29 7:58:27
    :84 :2