0

HDFS に保存されている Samza ジョブを使用して、Samza ジョブをリモート システムで実行したいと考えています。石炭マシンで Samza ジョブを実行する例 ( https://samza.apache.org/startup/hello-samza/0.7.0/ ) には、tar ファイルの作成、tar ファイルの解凍、シェル スクリプトの実行が含まれます。これは tar ファイル内にあります。

ここでの HDFS の例は、まったく十分に文書化されていません ( https://samza.apache.org/learn/tutorials/0.7.0/deploy-samza-job-from-hdfs.html )。tar ファイルを HDFS にコピーしてから、非 HDFS の例の他の手順に従うように指示されています。

これは、現在 HDFS に存在する tar ファイルを HDFS 内で解凍する必要があることを意味し、次に、解凍​​した tar ファイルでシェル スクリプトを実行する必要があります。しかし、hadoop fs シェルで HDFS tar ファイルを untar することはできません...

tar ファイルを untar しないと、run-job.sh にアクセスして Samza ジョブを開始できません。

誰かがこれを機能させることができましたか?

4

1 に答える 1

0

この方法で Samza ジョブをデプロイします。hadoop ライブラリが にあり、Samza /opt/hadoopsh スクリプトが/opt/samza/binあり、Samza 構成ファイルが にあり/opt/samza/configます。この構成ファイルには、次の行があります。

yarn.package.path=hdfs://hadoop1:8020/deploy/samza/samzajobs-dist.tgz

Samza ジョブの新しいバージョンをデプロイする場合は、tgz アーカイブを作成し、それを (untar せずに) HDFS に移動し/deploy/samza/て実行します。/opt/bin/run-job.sh --config-factory=org.apache.samza.config.factories.PropertiesConfigFactory --config-path=file:///opt/samza/config/$CONFIG_NAME.properties

唯一の欠点は、アーカイブ内の構成ファイルを無視することです。アーカイブの構成を変更しても、効果はありません。の構成ファイルを変更する必要があります/opt/samza/config。一方、新しい tgz アーカイブをデプロイせずに、Samza ジョブの構成を変更できます。下のシェル スクリプト/opt/samza/binはビルドごとに同じままなので、シェル スクリプトのためにアーカイブ パッケージを untar する必要はありません。

Samzingで頑張ってください!:-)

于 2015-10-28T14:25:04.873 に答える