日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
MongoDB分布式自動分片(Auto-sharding)研究

MongoDB分布式自動分片(Auto-sharding)研究

作者:Crazybaby 2011-07-28 13:24:03

數(shù)據(jù)庫

其他數(shù)據(jù)庫

數(shù)據(jù)庫運(yùn)維

分布式

MongoDB 跳過理論東西,網(wǎng)上有介紹自動分片的...直接進(jìn)入配置,有疑問請留言。還是以1000W級數(shù)據(jù)做測試。

跳過理論東西,網(wǎng)上有介紹自動分片的...直接進(jìn)入配置,有疑問請留言

還是以1000W級數(shù)據(jù)做測試

不分片的情況下,插入1000W條數(shù)據(jù)到一個數(shù)據(jù)庫。

數(shù)據(jù)存儲情況如下:

  
 
 
  1. ^_^[root@:/usr/local/mongodb/data/mongodb/test]#ls -lh 
  2. total 4.0G 
  3. -rw------- 1 root root  64M Jul 25 11:25 test.0 
  4. -rw------- 1 root root 128M Jul 25 11:22 test.1 
  5. -rw------- 1 root root 256M Jul 25 11:23 test.2 
  6. -rw------- 1 root root 512M Jul 25 11:25 test.3 
  7. -rw------- 1 root root 1.0G Jul 25 11:25 test.4 
  8. -rw------- 1 root root 2.0G Jul 25 11:24 test.5 
  9. -rw------- 1 root root  16M Jul 25 11:25 test.ns 

下面進(jìn)行自動分片配置:

這里我們選擇兩臺Server做測試

測試機(jī)IP為:

10.X.X.163

10.X.X.228

分別在163,228服務(wù)器上啟動Shardsvr進(jìn)程

  
 
 
  1. ^_^[root@:/usr/local/mongodb/bin]#cat runServerShard.sh  
  2. ./mongod --shardsvr -dbpath=../data/mongodb --logpath=../data/shardsvr_logs.txt --logappend --fork 

在163服務(wù)器上啟動configsvr 和 mongos路由進(jìn)程(下面的27019為configsvr的ip,mongos的ip請到log里面去看)

  
 
 
  1. [root@localhost bin]# cat runServerConfig.sh  
  2. ./mongod --configsvr --dbpath=../data/mongodb/config_db/ --logpath=../data/mongodb/log/configsvr_logs.txt --logappend --fork  
  3. [root@localhost bin]# cat runServerMongos.sh  
  4. ./mongos --configdb 10.10.21.163:27019 --logpath=../data/mongodb/log/mongos_logs.txt --logappend --fork 

查看下是否都啟動成功:

  
 
 
  1. [root@localhost bin]# ps -ef | grep 'mongo' 
  2. root     17939     1  2 18:47 ?        00:01:26 ./mongod --shardsvr -dbpath=../data/mongodb --logpath=../data/shardsvr_logs.txt --logappend --fork 
  3. root     18250     1  0 19:05 ?        00:00:00 ./mongod --configsvr --dbpath=../data/mongodb/config_db/ --logpath=../data/mongodb/log/configsvr_logs.txt --logappend --fork 
  4. root     18290     1 12 19:08 ?        00:03:35 ./mongos --configdb 10.10.21.163:27019 --logpath=../data/mongodb/log/mongos_logs.txt --logappend --fork 

可見3個服務(wù)都已經(jīng)啟動成功。

下面進(jìn)入配置自動分片:

用mongo連接mongos進(jìn)程(去log里面看)進(jìn)行配置管理:

  
 
 
  1. > use admin 
  2. switched to db admin 
  3. > db.runCommand({addshard:"10.10.21.163:27018"}); 
  4. { "ok" : 0, "errmsg" : "host already used" } 
  5. > db.runCommand({addshard:"10.7.3.228:27018"}); 
  6. { "shardAdded" : "shard0001", "ok" : 1 } 
  7. > db.runCommand({enableSharding:"test"}) 
  8. { "ok" : 1 } 
  9. > db.runCommand({shardcollection:"test.users",key:{_id:1}}) 
  10. { "collectionsharded" : "test.users", "ok" : 1 } 

向mongos進(jìn)程進(jìn)行插入1000W數(shù)據(jù)

來看下數(shù)據(jù)的大小:

163:

  
 
 
  1. ^_^[root@:/usr/local/mongodb/data/mongodb]#ls -lh 
  2. total 2.0G 
  3. -rw-r--r-- 1 root root 1011 Jul 25 12:33 mongodb.log 
  4. -rwxr-xr-x 1 root root    6 Jul 25 12:34 mongod.lock 
  5. drwxr-xr-x 3 root root 4.0K Jul 25 12:39 moveChunk 
  6. -rw------- 1 root root  64M Jul 25 12:42 test.0 
  7. -rw------- 1 root root 128M Jul 25 12:40 test.1 
  8. -rw------- 1 root root 256M Jul 25 12:41 test.2 
  9. -rw------- 1 root root 512M Jul 25 12:42 test.3 
  10. -rw------- 1 root root 1.0G Jul 25 12:41 test.4 
  11. -rw------- 1 root root  16M Jul 25 12:42 test.ns 
  12. drwxr-xr-x 2 root root 4.0K Jul 25 12:38 _tmp 

228:

  
 
 
  1. [root@localhost mongodb]# ls -lh 
  2. 總計(jì) 2.0G 
  3. drwxr-xr-x 3 root root 4.0K 07-25 19:39 config_db 
  4. drwxr-xr-x 2 root root 4.0K 07-25 18:51 config_repair_db 
  5. drwxr-xr-x 2 root root 4.0K 07-25 19:39 log 
  6. -rwxr-xr-x 1 root root    6 07-25 19:39 mongod.lock 
  7. drwxr-xr-x 3 root root 4.0K 07-25 19:13 moveChunk 
  8. -rw------- 1 root root  64M 07-25 20:38 test.0 
  9. -rw------- 1 root root 128M 07-25 20:38 test.1 
  10. -rw------- 1 root root 256M 07-25 20:40 test.2 
  11. -rw------- 1 root root 512M 07-25 20:41 test.3 
  12. -rw------- 1 root root 1.0G 07-25 20:42 test.4 
  13. -rw------- 1 root root  16M 07-25 20:38 test.ns 
  14. drwxr-xr-x 2 root root 4.0K 07-25 20:38 _tmp 

自動分片成每個2G。


文章名稱:MongoDB分布式自動分片(Auto-sharding)研究
瀏覽地址:http://www.dlmjj.cn/article/dpjohgp.html