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 ジョブの展開を示すリンクはありますか。
ありがとう