Ich habe MongoDB 3.2.6 auf 5 Rechnern installiert, die alle einen sharded Cluster bestehend aus 2 Shards bilden (jeweils ein Replikat mit Primär-Sekundär-Arbiter-Konfiguration).Mongo Sharding entfernt keine Daten der sharded Sammlung im Quell-Shard
Ich habe auch eine Datenbank mit sehr großen Sammlung (~ 50M Datensätze, 200 GB) und es wurde durch Mongos importiert, die es zusammen mit anderen Sammlungen zu primären Shard setzen.
Ich generierte Hash-ID auf dieser Sammlung, die mein Shard-Schlüssel sein wird.
Nach Thay ich sharded Sammlung mit:
> use admin
> db.runCommand({ enablesharding : "my-database" })
> use my-database
> sh.shardCollection("my-database.my-collection", { "_id": "hashed" })
Comand zurückgegeben:
{ "collectionsharded" : "my-database.my-collection", "ok" : 1 }
Und es begann tatsächlich zu Scherbe. Der Status des Scherbe sieht wie folgt aus:
> db.my-collection.getShardingDistribution()
Totals
data : 88.33GiB docs : 45898841 chunks : 2825
Shard my-replica-1 contains 99.89% data, 99.88% docs in cluster, avg obj size on shard : 2KiB
Shard my-replica-2 contains 0.1% data, 0.11% docs in cluster, avg obj size on shard : 2KiB()
Dieses sieht alles in Ordnung, aber Problem ist, dass, wenn ich my-Sammlung durch mongos zählen Ich sehe Zahl steigt.
Wenn ich in der primären replica Holzset (my-replica-1) I, dass die Anzahl der Datensätze in my-Sammlung zu sehen ist nicht abnehm obwohl Zahl in my-replica-2 ist Erhöhung (voraussichtlich) Ich nehme an, dass mongodb keine Stücke aus dem Quell-Shard entfernt, während es zum zweiten Shard migriert.
Wer weiß, ist das normal und wenn nicht warum passiert es?
BEARBEITEN: Eigentlich begann es jetzt auf my-replica-1 zu sinken, obwohl es immer noch wächst, wenn man auf mongos zählt (manchmal geht es etwas runter und dann nach oben). Vielleicht ist das ein normales Verhalten, wenn eine große Sammlung migrieren, ich weiß nicht,
Ivan