2016-11-17 3 views
2

私は、スタンドアロンクラスタ上でspark-kafkaストリーミングアプリケーションを実行しています。作業フォルダにスパークジャーを作成することを停止します

アプリケーションjarは、stdoutおよびstderrファイルが書き込まれていたフォルダ 'work'にコピーされています。 jarファイルは、使用されているすべてのノードにコピーされ、アプリケーションを終了しても削除されることはありません。

アプリケーションの実行後にこのjarファイルを削除する方法はありますか?このjarがコピーされないようにするパラメータはありますか?

enter image description here

答えて

2

誰もが アプリケーションの実行を終えた後、このjarファイルを取り除くためにどのように私に助言することはできますか?

はい、Spark has a cleanup mechanismあなたはフラグspark.worker.cleanup.enabledを経由して、各ワーカーノードで有効にすることができます。

を労働者/アプリケーションディレクトリの定期的なクリーンアップを有効にします。 これは、YARNの動作が異なるため、スタンドアロンモードにのみ影響します。停止したアプリケーションのディレクトリは のみがクリーンアップされます。

アプリケーションのクリーンアップ時間を調整するための他のプロパティがあります。

  • spark.worker.cleanup.interval:労働者はローカルマシン上の古いアプリケーションの作業のdirsをクリーンアップする間隔を秒単位で制御します。
  • spark.worker.cleanup.appDataTtl:各作業者のアプリケーション作業ディレクトリを保持する秒数。これはTime To Liveであり、使用可能なディスク容量に依存します。アプリケーションログとjarは、各アプリケーション作業ディレクトリにダウンロードされます。時間が経つにつれて、特に作業を非常に頻繁に実行する場合は、作業領域がすばやくディスク領域を埋めることがあります。

このjarがコピーされないようにするパラメータはありますか?

いいえ、このJARは必須です。アプリケーションを実行するために必要なコードが含まれています。それ以外の場合は、ワーカーノードがグラフで作成したコードをどのように実行しますか?このコードをクラスタ内のすべての作業者が利用できるようにする必要があります。また、Sparkがそれを許可するためにあなたのために配布します。

関連する問題