By now, you should be familiar with the notion of chunks in a MongoDB sharded cluster. In this recipe, we will look at how to split chunks and migrate them across shards.
Ensure you have a sharded cluster ready. If you are reusing the setup from the previous recipe, ensure that you drop the database, as such:
use myShardedDB db.dropDatabase()
Before we import the mock data, enable sharding:
sh.enableSharding('myShardedDB') sh.shardCollection('myShardedDB.users', {age: 1})
Finally, we need to import the mock data using the mongoimport utility:
mongoimport -h 192.168.200.200 --type csv --headerline -d myShardedDB -c users chapter_5_mock_data.csv
- Connect to the mongos service and inspect the chunks:
sh.status() --- Sharding Status --- sharding version: { <-- output truncated -- > databases: { "_id" : "myShardedDB", "primary" : "shard0002", "partitioned" : true } myShardedDB.users shard key: { "age" : 1 } unique: false balancing: true chunks...