mongodb数据库分片
来源:互联网 发布:淘宝如何改价钱 编辑:程序博客网 时间:2024/06/18 06:15
--配置config server[mongodb@rudy_01 2.6]$ mkdir 27018[mongodb@rudy_01 2.6]$ mkdir log/27018--mongo配置文件dbpath=/usr/local/mongodb/2.6/27018fork=1logpath=/usr/local/mongodb/2.6/log/27018/mongo.logport=27018maxConns=100oplogSize=100logappend=truedirectoryperdb=1--启动配置服务器,配置服务器一定要先启动 mongod -f /usr/local/mongodb/2.6/27018/mongodb.conf --mongos路由配置文件 port=4000 configdb=rudy_01:27018 fork=1 logpath=/usr/local/mongodb/2.6/log/4000/mongo.log chunkSize=1 --启动mongos路由 mongos -f /usr/local/mongodb/2.6/mongos.conf --配置shard server[mongodb@rudy_01 2.6]$ mkdir 27019[mongodb@rudy_01 2.6]$ mkdir 27020[mongodb@rudy_01 2.6]$ mkdir 27021[mongodb@rudy_01 2.6]$ mkdir log/27019[mongodb@rudy_01 2.6]$ mkdir log/27020[mongodb@rudy_01 2.6]$ mkdir log/27021--配置保个节点的配置文件dbpath=/usr/local/mongodb/2.6/27019fork=1logpath=/usr/local/mongodb/2.6/log/27019/mongo.logport=27019maxConns=100oplogSize=100logappend=truedirectoryperdb=1dbpath=/usr/local/mongodb/2.6/27020fork=1logpath=/usr/local/mongodb/2.6/log/27020/mongo.logport=27020maxConns=100oplogSize=100logappend=truedirectoryperdb=1dbpath=/usr/local/mongodb/2.6/27021fork=1logpath=/usr/local/mongodb/2.6/log/27021/mongo.logport=27021maxConns=100oplogSize=100logappend=truedirectoryperdb=1--启动数据库mongod -f /usr/local/mongodb/2.6/27019/mongodb.confmongod -f /usr/local/mongodb/2.6/27020/mongodb.confmongod -f /usr/local/mongodb/2.6/27021/mongodb.conf--配置sharding--登陆到路由节点mongo admin --port 4000 --添加shard节点db.runCommand({"addshard":"rudy_01:27019"})db.runCommand({"addshard":"rudy_01:27020"})db.runCommand({"addshard":"rudy_01:27021"})--设置分片集合名称db.runCommand({"enablesharding":"test"})db.runCommand({"shardcollection":"test.personalinfo",key:{_id:1}})--验证shardingfor (var i=1;i<=100000;i++){db.personalinfo.insert({age:i,name:"rudy"+i,addr:"上海宝山区"+i+"路",country:"中国"});}--查看文档状态,可知数据已经被分片处理db.personalinfo.stats()mongos> db.personalinfo.stats(){ "sharded" : true, "systemFlags" : 1, "userFlags" : 1, "ns" : "test.personalinfo", "count" : 100000, "numExtents" : 18, "size" : 11200000, "storageSize" : 33546240, "totalIndexSize" : 3270400, "indexSizes" : { "_id_" : 3270400 }, "avgObjSize" : 112, "nindexes" : 1, "nchunks" : 12, "shards" : { "shard0000" : { "ns" : "test.personalinfo", "count" : 36540, "size" : 4092480, "avgObjSize" : 112, "storageSize" : 11182080, "numExtents" : 6, "nindexes" : 1, "lastExtentSize" : 8388608, "paddingFactor" : 1, "systemFlags" : 1, "userFlags" : 1, "totalIndexSize" : 1193696, "indexSizes" : { "_id_" : 1193696 }, "ok" : 1 }, "shard0001" : { "ns" : "test.personalinfo", "count" : 31994, "size" : 3583328, "avgObjSize" : 112, "storageSize" : 11182080, "numExtents" : 6, "nindexes" : 1, "lastExtentSize" : 8388608, "paddingFactor" : 1, "systemFlags" : 0, "userFlags" : 1, "totalIndexSize" : 1046528, "indexSizes" : { "_id_" : 1046528 }, "ok" : 1 }, "shard0002" : { "ns" : "test.personalinfo", "count" : 31466, "size" : 3524192, "avgObjSize" : 112, "storageSize" : 11182080, "numExtents" : 6, "nindexes" : 1, "lastExtentSize" : 8388608, "paddingFactor" : 1, "systemFlags" : 0, "userFlags" : 1, "totalIndexSize" : 1030176, "indexSizes" : { "_id_" : 1030176 }, "ok" : 1 } }, "ok" : 1}--列出所有的shard serverdb.runCommand({listshards:1})--查看数据库文档分片的详细信息db.printShardingStatus()--判断是否是分片db.runCommand({isdbgrid:1})--对未分片的集合进行分片--构建测试数据for (var i=1;i<=100000;i++){db.user.insert({age:i,name:"未分片的id:"+i,country:"中国"});}--查看文档状态db.user.status()--对文档进行分片use admindb.runCommand({"shardcollection":"test.user","key":{_id:1}})--移除一个分片数据库,要多执行几次,查看数据库的进程状态,直到提示已完成use admindb.runCommand({"removeshard":"rudy_01:27021"})--注意最后一个移除主机上的count=0,size=0 mongos> db.user.stats(){ "sharded" : true, "systemFlags" : 1, "userFlags" : 1, "ns" : "test.user", "count" : 100000, "numExtents" : 19, "size" : 11200000, "storageSize" : 44871680, "totalIndexSize" : 3981712, "indexSizes" : { "_id_" : 3981712 }, "avgObjSize" : 112, "nindexes" : 1, "nchunks" : 22, "shards" : { "shard0000" : { "ns" : "test.user", "count" : 48499, "size" : 5431888, "avgObjSize" : 112, "storageSize" : 22507520, "numExtents" : 7, "nindexes" : 1, "lastExtentSize" : 11325440, "paddingFactor" : 1, "systemFlags" : 1, "userFlags" : 1, "totalIndexSize" : 1945888, "indexSizes" : { "_id_" : 1945888 }, "ok" : 1 }, "shard0001" : { "ns" : "test.user", "count" : 51501, "size" : 5768112, "avgObjSize" : 112, "storageSize" : 11182080, "numExtents" : 6, "nindexes" : 1, "lastExtentSize" : 8388608, "paddingFactor" : 1, "systemFlags" : 0, "userFlags" : 1, "totalIndexSize" : 2027648, "indexSizes" : { "_id_" : 2027648 }, "ok" : 1 }, "shard0002" : { "ns" : "test.user", "count" : 0, "size" : 0, "storageSize" : 11182080, "numExtents" : 6, "nindexes" : 1, "lastExtentSize" : 8388608, "paddingFactor" : 1, "systemFlags" : 0, "userFlags" : 1, "totalIndexSize" : 8176, "indexSizes" : { "_id_" : 8176 }, "ok" : 1 } }, "ok" : 1}mongos> --新增分片数据库,db.runCommand({addshard:"rudy_01:27021"})--注意新添加的分片中不能存在已经分片的数据库,如果有要删除,否则会报错"errmsg" : "can't add shard rudy_01:27021 because a local database 'test' exists in another shard0000:rudy_01:27019"--此时登陆到相应的主机删除数据库则可use testdb.runCommand( { dropDatabase: 1 } )
0 0
- mongodb数据库分片
- Mongodb数据库集群分片技术
- Mongodb数据库集群分片技术简述
- mongodb数据库集群及sharding分片配置
- MongoDB 分片
- mongodb 分片
- mongodb分片
- Mongodb分片
- Mongodb分片
- MongoDB 分片
- MongoDB分片
- MongoDB分片
- mongodb分片
- mongodb分片
- MongoDB分片
- mongodb分片
- MongoDB分片
- mongodb分片
- 关于map::erase的使用说明
- Apache Lucene初探
- 电阻和电容精度表示方法
- session(会话)
- 问题3:解决直接输出字典的内容无法显示中文的问题
- mongodb数据库分片
- 巧用nc,模拟GET和POST
- Java每日登陆 和 月卡功能
- Maven之——如何把maven项目转成web项目
- Android四大组件之BroadcastReceiver
- Enterprise Architect 视频教程地址
- C 编码转换 ,包括ANSI,UNICODE,UTF-8,UniBigEnd(含源码下载)
- ●HR的99种死法-爱护HR,人人有责!
- Java NIO教程(九)ServerSocketChannel