Новичок, использующий 32-битный mongo 2.0.1 в Windows, попытался протестировать шарды следующим образом:
(4) процесса: 2 шарда + config srver + mongos w крошечный размер фрагмента
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
Я запустил оболочку и установил 2 шарда:
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 }
Затем я включил шардинг для тестовой базы данных (dbTest) и коллекции (cTest):
mongos> db.runCommand( { enablesharding : "dbTest" } );
{ "ok" : 1 }
mongos> db.runCommand( { shardcollection : "dbTest.cTest", key : { Name : 1 } } );
{ "collectionssharded" : "dbTest.cTest", "ok" : 1 }
Наконец я заполнилcTest collection (индексируется по имени) с 1 000 005 образцов записей:
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;
};
ОДНАКО ...
Похоже, что на самом деле ничего не было осквернено.В базе данных конфигурации db.chunks.count () равен нулю, и я могу видеть из размеров файлов проводника Windows, что все данные были переданы в настройку физического файла для первого сегмента, а никакие - для второго.
Может кто-нибудь заметить, что я сделал не так, а также дать несколько советов о том, как администрировать и отлаживать подобные вещи и видеть, что происходит?
Спасибо