1

Hadoop ヤーンで samza ジョブを実行しています。これまでは、Resource Manager ホストで run-job.sh を呼び出して手動でジョブをデプロイしていました。

run-job.sh --config-factory=org.apache.samza.config.factories.PropertiesConfigFactory --config-path=file:///usr/share/promo-rules-consumer/config/config.properties

Samza デプロイ スクリプトと samza 配布 tar "samza-dist.tar.gz" はすべて、Resource Manager ローカル ファイル システムに配置されます。

しかし、今はジョブをリモートで展開したいと考えています。このために、 Resource Manager Submit apps rest API を使用しようとしています。

リクエスト: POST http://hostname:8088/ws/v1/cluster/apps

体 :

{
    "application-id":"application_1470648527247_0031",
    "application-name":"test1_0",
    "am-container-spec":
    {

      "commands":
      {
        "command":"/usr/share/promo-rules-consumer/bin/run-job.sh --config-factory=org.apache.samza.config.factories.PropertiesConfigFactory --config-path=file:///usr/share/promo-rules-consumer/config/montecarlo.properties"
      }

    },
    "application-type":"SAMZA"
  }

ただし、リソース マネージャー UI からエラーが表示されます

例外メッセージ: /bin/bash: /usr/share/promo-rules-consumer/bin/run-job.sh: No such file or directory

これを行う正しい方法を教えてください。REST API または Java コードを介した samza ジョブの展開を示すリンクはありますか。

ありがとう

4

1 に答える 1