3

40 ノードのクラスター (33 の spark エグゼキューター/5 ノードの cassandra) では、spark-streaming を使用して、1 分あたり約 20 000 を (とりわけ) cassandra テーブル (を使用.saveToCassandra) に挿入しています。得られる結果は次のとおりです。

ここに画像の説明を入力

私が物事を正しく理解していれば、エグゼキュータとエグゼキュータは 75% の時間アイドル状態S3であり、ステージが終了するのを防ぎます... そのようなリソースの無駄です! そして、パフォーマンスの低下。S14S19

私のSparkContextのconfオプションは次のとおりです。

  .set("spark.cassandra.output.batch.size.rows", "5120")
  .set("spark.cassandra.output.concurrent.writes", "100")
  .set("spark.cassandra.output.batch.size.bytes", "100000")
  .set("spark.cassandra.connection.keep_alive_ms","60000")

この動作は正常ですか?そうでない場合は、上記の設定を調整して回避する必要がありますか? 問題は spark-cassandra-connector の書き込みに起因するものですか、それとも別のものですか?

4

1 に答える 1

0

一見したところ、これは cassandra コネクタの問題であるとは思えません。現在、毎分 300,000 レコードとより小さなクラスターで .saveToCassandra を実行しています。

.saveToCassandra に時間がかかる場合は、長いタスクが表示される傾向があります。あなたが見ているのは、説明のつかない (?) タスク間のギャップです。

これを追跡するには、もう少し情報が必要です。[ジョブ] タブから開始します。時間がかかるジョブはありますか? ドリルダウンして、何が見えますか?

于 2015-10-02T16:42:48.907 に答える