私には約10個のHadoopジョブのフローがあります。たとえば、これらのジョブを構成する一連のXMLファイルがあります。
-conf /path/on/my/local/system/start-conf.xml
-conf /path/on/my/local/system/job-1-conf.xml
-conf /path/on/my/local/system/job-2-conf.xml
-conf /path/on/my/local/system/job-i-conf.xml
...
-conf /path/on/my/local/system/job-10-conf.xml
「com.my.project.RunClass」という名前のジョブを実行するために使用されるクラスがあると仮定します。次のコマンドでジョブを実行すると仮定します。
hadoop jar /path/to/project.jar com.my.project.RunClass -conf /path/on/my/local/system/start-conf.xml
セグメント"/path / on / my / local / system"をプレースホルダー($ {root.conf.dir}など)に置き換えて、次のようなジョブを実行できるようにします。
hadoop jar /path/to/project.jar com.my.project.RunClass -conf ${root.conf.dir}/job-1-conf.xml -Droot.conf.dir=/path/on/my/local/system
これは、Hadoopのどのバージョンでも可能ですか?Clouderaディストリビューションを使用していますが、毎回失敗するようです。