您好,登錄后才能下訂單哦!
啟動route process
配置route process并且啟動,代碼如下:
[root@localhost ~]# /usr/local/mongo/bin/mongos --port 40000 --configdb localhost:30000 --fork --logpath /data/shard/log/route.log --chunkSize 1
forked process: 2911
[root@localhost ~]# all output going to: /data/shard/log/route.log
配置sharding
[root@localhost ~]# /usr/local/mongo/bin/mongo --port 40000
MongoDB shell version: 2.0.4
connecting to: 127.0.0.1:40000/test
mongos>
這個地方一定要切換到admin數據庫
mongos> use admin
switched to db admin
mongos> db
admin
mongos> db.runCommand({addshard:"localhost:20000"})
{ "shardAdded" : "shard0000", "ok" : 1 }
mongos> db.runCommand({addshard:"localhost:20001"})
{ "shardAdded" : "shard0001", "ok" : 1 }
mongos> db.runCommand({enablesharding:"test"})
{ "ok" : 1 }
mongos> db.runCommand({shardcollection:"test.users",key:{_id:1}})
{ "collectionsharded" : "test.users", "ok" : 1 }
momongos> for(var i =1;i <= 500000;i++) db.users.insert({age:i,name:"fangwei",addr:"hangzhou",country:"China"})
mongos> db.users.find()
{ "_id" : ObjectId("53d4eefd67d21d1d69f5bcd0
{ "_id" : ObjectId("53d4f024b1e3fc47712a0576
{ "_id" : ObjectId("53d4f024b1e3fc47712a0577
---驗證我們的分片
mongos> db.users.stats()
{
}
mongos>
查看磁盤上物理文件分布情況
mongos> exit
bye
[root@localhost ~]# ll /data/shard/s0/test
total 213004
-rw-------. 1 root root
-rw-------. 1 root root 134217728 Jul 27 20:09 test.1
-rw-------. 1 root root
drwxr-xr-x. 2 root root
[root@localhost ~]#
[root@localhost ~]# ll /data/shard/s1/test
total 475148
-rw-------. 1 root root
-rw-------. 1 root root 134217728 Jul 27 20:27 test.1
-rw-------. 1 root root 268435456 Jul 27 20:27 test.2
-rw-------. 1 root root
drwxr-xr-x. 2 root root
[root@localhost ~]#
---列出所有的shard server
mongos> use admin
switched to db admin
mongos> db.runCommand({listshards:1})
{
}
-----查看sharding信息
mongos> printShardingSizes()
--- Sharding Status ---
-------判斷是佛sharding
> db.runCommand({isdbgrid:1})
{ "isdbgrid" : 1, "hostname" : "localhost.mongo102", "ok" : 1 }
>
----------對現有表執行sharding
> db
test
> db.users_2.stats()
{
}
對其進行分表
> db
admin
> db.runCommand({shardcollection:"test.users_2",key:{_ud:1}})
{ "collectionsharded" : "test.users_2", "ok" : 1 }
> use test
switched to db test
> db.users_2.stats()
{
}
>
-------新增shard server 分片
[root@localhost ~]# mkdir /data/shard/s2
[root@localhost ~]# /usr/local/mongo/bin/mongod --shardsvr --port 20002 --dbpath /data/shard/s2 --fork --logpath /data/shard/log/s2.log --directoryperdb
[root@localhost ~]# forked process: 3480
all output going to: /data/shard/log/s2.log
[root@localhost ~]# /usr/local/mongo/bin/mongo --port 40000
MongoDB shell version: 2.0.4
connecting to: 127.0.0.1:40000/test
mongos> db
test
mongos> use admin
switched to db admin
mongos> db.runCommand({addshard:"localhost:20002"})
{ "shardAdded" : "shard0002", "ok" : 1 }
mongos>
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。