40 ノードのクラスター (33 の spark エグゼキューター/5 ノードの cassandra) では、spark-streaming を使用して、1 分あたり約 20 000 を (とりわけ) cassandra テーブル (を使用.saveToCassandra
) に挿入しています。得られる結果は次のとおりです。
私が物事を正しく理解していれば、エグゼキュータとエグゼキュータは 75% の時間アイドル状態S3
であり、ステージが終了するのを防ぎます... そのようなリソースの無駄です! そして、パフォーマンスの低下。S14
S19
私の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 の書き込みに起因するものですか、それとも別のものですか?