文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>mongodb分片操作

mongodb分片操作

时间:2010-08-26  来源:sxcong

参考“MongoDB分布式部署之分片配置”
http://jokry.me/blog/2010/07/mongodb-distributable-slice/
实际操作了一下
具体环境:两台虚拟64位centos,分别是192.168.1.20和192.168.1.21
整个设置是在同一台机器上两组分片,每组分片在两台机器上互为主从。
config服务器运行在21上,mongos运行在20上。

具体:
#启动第一组分片主库(在192.168.1.20上执行),端口为18020
mongod -fork --logpath=/tmp/1 --pairwith 192.168.1.21:18020 --dbpath=/mongo/data1 --port 18020
#启动第一组分片从库(在192.168.1.21上执行)
mongod -fork --logpath=/tmp/1 --pairwith 192.168.1.20:18020 --dbpath=/mongo/data1 --port 18020


#启动第二组分片主库(在192.168.1.20上执行)端口为18021
mongod -fork --logpath=/tmp/2 --pairwith 192.168.1.21:18021 --dbpath=/mongo/data2 --port 18021
#启动第二组分片从库(在192.168.1.21上执行)
mongod -fork --logpath=/tmp/2 --pairwith 192.168.1.20:18021 --dbpath=/mongo/data2 --port 18021

#启动configserver,在192.168.1.20
#mongod -fork --logpath=/tmp/3 --configsvr --dbpath  /mongo/configsvr --port 18022

#启动configserver,在192.168.1.21,config server数目只能是奇数
mongod -fork --logpath=/tmp/3 --configsvr --dbpath  /mongo/configsvr --port 18022

#在192.168.1.20上执行
mongos -fork --logpath=/tmp/4 --configdb 192.168.1.21:18022

#客户端连接mongos
mongo --host 192.168.1.20
 show dbs

use admin
#增加第一组分片
db.runCommand( { addshard : "192.168.1.20:18020,192.168.1.21:18020", allowLocal : true } ) 

#增加第二个分片
db.runCommand( { addshard : "192.168.1.20:18021,192.168.1.21:18021", allowLocal : true } ) 
  
db.runCommand({listshards:1})

config = connect("192.168.1.21:18022")
config = config.getSisterDB("config")   

#新增数据库test
test= db.getSisterDB("test")
db.runCommand( { enablesharding : "test" } )

#建立分片数据集 msg,posttime 是time_t,结果由time()函数得到
db.runCommand( { shardcollection : "test.msg", key : {posttime : 1} } )
db.printShardingStatus();

然后,php或c++连接192.168.1.20就可以进行insert等操作了。因为posttime有连续性,添加记录达到
几十万条以上,可以看到data1下面的文件比较大,data2下面文件也在增长,但比data1小。比较20和21两台机器下的同名目录文件,大小是一样的。

这种操作key 没有散列,读写操作过于集中,下一步研究一下好方法,可能采用hash使key散开。然后,在每台机器上启动10个分片进程再做测试。



相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载