2016-04-05 1 views
0

私は、ユーザーからのジョブを受け入れるシステムを持っています。これらのジョブは、dataprocでスパークジョブとして実行されます。日中は多くの仕事が走っていますが、夜は何もないかもしれません。私は、ダウンタイムのこれらの期間中にクラスタを終了し、新しいジョブが受信された後にクラスタを再起動または再作成する最善の方法が何であるか疑問に思っていますか?ここでの目標は、非活動期間中は請求されないことです。使用していないときにdataprocクラスタを終了するにはどうすればよいですか?

答えて

1
どちらか二つの主なアプローチのいずれかを使用することができ

:労働者の最小数(2人の労働者)にクラスタダウンスケール

  1. を[1]
  2. クラスタを削除し、後でそれを再作成する[2]

どちらの方法も、HDFSではなくGoogle Cloud Storage Connector [3]を使用してデータを保存すると効果的です。あなたは、潜在的に

gcloud dataproc clusters delete my-dataproc-cluster-name 

:これを使用し、

gcloud dataproc clusters update <cluster-name> --num-workers <new-number-of-workers> 

がオフピークの時間クラスタを削除するには:

クラスタをダウンスケールするには、オフピーク時間に、このコマンドを実行しますDataprocで完全にサポートされているPreemptible VMs [4]で、Dataprocの継続的なコストを最大70%削減できます。

[1] Scaling Dataproc Clusters

[2] Managing Dataproc Clusters

[3] Google Cloud Storage Connector for Spark/Hadoop

[4] Preemptible VMs

関連する問題