2 ノードのカサンドラ リングがあります。サーバーの1つで、いくつかの一括書き込み操作を実行しています-ファイルリストのフォルダーをスキャンし、リストをローカルのCassandraに書き込みます。そこには約500,000のファイルがあります。1 つのミューテーションごとに 250 の値を入れています。
問題: ロード中にmphaeHUnavailableExceptionが発生します。さらに、他のノードで奇妙なことに気付きました。負荷が大幅に増加します。
書き込み操作前:
me@10.1.18.55:~$ nodetool -h localhost ring
Address DC Rack Status State Load Owns Token
85070591730234615865843651857942052864
10.1.18.51 datacenter1 rack1 Up Normal 221.3 KB 50.00% 0
10.1.18.55 datacenter1 rack1 Up Normal 185.65 KB 50.00% 85070591730234615865843651857942052864
書き込み操作後
me@10.1.18.55:~$ nodetool -h localhost ring
Note: Ownership information does not include topology, please specify a keyspace.
Address DC Rack Status State Load Owns Token
85070591730234615865843651857942052864
10.1.18.51 datacenter1 rack1 Up Normal 124.44 MB 50.00% 0
10.1.18.55 datacenter1 rack1 Up Normal 303.39 KB 50.00% 85070591730234615865843651857942052864
それはどういうわけか私の負荷をクラッシュさせますか?
Cassandra バージョン 1.1.0、整合性タイプ クォーラム。
ミューテーターの実装ビットは次のとおりです。
mutator.addInsertion("items", columnFamily, HFactory.createColumn(
i.getAndIncrement(), xml, LongSerializer.get(),
StringSerializer.get()));
1 つの大きな「アイテム」行に書き込まれるデータの継ぎ目...