3

oozie の job.properties でコーディネーター ジョブの開始時刻を変更すると、ジョブは変更された時刻ではなく、古いスケジュール時刻で実行されます。

古いジョブのプロパティ:

startMinute=08
startTime=${startDate}T${startHour}:${startMinute}Z

新しい job.properties:

startMinute=07
startTime=${startDate}T${startHour}:${startMinute}Z

ジョブは変更された時間に実行されていません: 07 分、毎時 08 分に実行されています。

解決策を教えてください。ジョブを再起動したり強制終了したりせずに、更新されたプロパティ (タイミングの変更) をジョブにピックアップさせる方法を教えてください。

4

1 に答える 1

4

Oozie(v3.3.2) によって提供されるメソッドを使用して、コーディネーターのタイミングを実際に変更することはできません。ジョブを送信すると、コンテンツ プロパティはデータベースに保存されますが、実際のワークフローは HDFS にあります。

コーディネーターを実行するたびに、ジョブの送信時にプロパティで指定されたパスにワークフローを配置する必要がありますが、プロパティ ファイルは必要ありません。私が言いたいのは、ジョブを送信した後はプロパティ ファイルが表示されないということです。

1 つのハックは、SQL クエリを使用してデータベース内の時刻を直接更新することです。しかし、その影響についてはよくわかりません。データベース全体でプロパティの一貫性が失われる可能性があります。

ジョブを強制終了して、新しいジョブを再送信する必要があります。

: oozie は、公式ドキュメントで指定されているように、同時実行、終了時間、一時停止時間を変更する方法を提供します。

于 2015-01-16T14:39:36.037 に答える