mongoDB sharding exemple

Débutant à l'aide d'mongo 2.0.1 32 bits sur windows essayé les tests d'éclats comme suit:

(4): 2 éclats + config srver + mongos w minuscule chunksize

mongod.exe --shardsvr  --port 10001  --dbpath <folder1>       > shard1.log
mongod.exe --shardsvr  --port 10002  --dbpath <folder2>       > shard2.log
mongod.exe --configsvr --port 20000  --dbpath <configfolder>  > config.log
mongos.exe --configdb localhost:20000 --chunkSize 1           > mongos.log

J'ai couru à la coque et de configurer jusqu'à 2 éclats:

mongos> use admin
switched to dbadmin

mongos> db.runCommand( { addshard : "localhost:10001" } );
{ "shardAdded" : "shard0000", "ok" : 1 }

mongos> db.runCommand( { addshard : "localhost:10002" } );
{ "shardAdded" : "shard0001", "ok" : 1 }

Puis j'ai activé la fragmentation, pour une base de données de test (dbTest) et collection (cTest):

mongos> db.runCommand( { enablesharding  : "dbTest" } );
{ "ok" : 1 }

mongos> db.runCommand( { shardcollection : "dbTest.cTest", key : { Name : 1 } } );
{ "collectionssharded" : "dbTest.cTest", "ok" : 1 }

Enfin j'ai remplie le cTest collection (indexé par le Nom) avec 1,000,005 échantillon de dossiers:

mongos> use dbTest
switched to db dbTest

db.cTest.drop();
db.cTest.ensureIndex({ Name : 1 });
db.cTest.save({Name: "Frank", Age:56, Job: "Accountant", State: "NY"});
db.cTest.save({Name: "Bill" , Age:23,                    State: "CA"});
db.cTest.save({Name: "Janet", Age:34, Job: "Dancer"                 });
db.cTest.save({Name: "Andy",  Age:44                                });
db.cTest.save({Name: "Zach",  Age:23, Job: "Fireman",    State: "CA"});
i=1;
while(i<=1000) 
{ 
  j=1;
  while (j<=1000) 
  { 
    db.cTest.save({Name:"Person("+i+","+j+")", Age:i+j}); 
    j = j+1
  }; 
  i=i+1; 
};

CEPENDANT ...

Il semble que rien n'en fait fragmenté. Dans la config de base de données, base de données.des morceaux.count() est égale à zéro, et je peux le voir dans l'explorateur windows tailles de fichier que toutes les données sont allés dans le fichier de configuration pour le premier fragment, et aucun pour le second.

Quelqu'un peut repérer ce que j'ai fait de mal, et aussi de fournir quelques conseils sur la façon d'admin & debug de ce genre de chose & voir ce qui se passe ?

Grâce

OriginalL'auteur tpascale | 2011-12-18