`
lzj0470
  • 浏览: 1243447 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

mongodb

阅读更多
mongodb 操作记录

mongod --dbpath "f:\mongodb\configs"  --port 23017

mongos  --port 25017  --configdb 127.0.0.1:23017 --chunkSize 5 --logpath F:\mongodb\data\mongos.log --logappend
mongos 通过追加 --chunkSize (单位是M 例如 --chunkSize 1 代表每个chunk大小为1M)

mongod  --shardsvr --port 27017 --dbpath  "f:\mongodb\data\shard27017" --oplogSize 100 --logpath "f:\mongodb\data\shard27017\shard27017.log" --logappend

mongod  --shardsvr --port 27018 --dbpath  "f:\mongodb\data\shard27018" --oplogSize 100 --logpath "f:\mongodb\data\shard27018\shard27018.log" --logappend

mongod  --shardsvr --port 27019 --dbpath  "f:\mongodb\data\shard27019" --oplogSize 100 --logpath "f:\mongodb\data\shard27019\shard27019.log" --logappend

mongod  --shardsvr --port 27020 --dbpath  "f:\mongodb\data\shard27020" --oplogSize 100 --logpath "f:\mongodb\data\shard27020\shard27020.log" --logappend

mongod  --shardsvr --port 27021 --dbpath  "f:\mongodb\data\shard27021" --oplogSize 100 --logpath "f:\mongodb\data\shard27021\shard27021.log" --logappend

mongod  --shardsvr --port 27022 --dbpath  "f:\mongodb\data\shard27022" --oplogSize 100 --logpath "f:\mongodb\data\shard27022\shard27022.log" --logappend

mongod  --shardsvr --port 27023 --dbpath  "f:\mongodb\data\shard27023" --oplogSize 100 --logpath "f:\mongodb\data\shard27023\shard27023.log" --logappend

mongod  --shardsvr --port 27024 --dbpath  "f:\mongodb\data\shard27024" --oplogSize 100 --logpath "f:\mongodb\data\shard27024\shard27024.log" --logappend

mongod  --shardsvr --port 27025 --dbpath  "f:\mongodb\data\shard27025" --oplogSize 100 --logpath "f:\mongodb\data\shard27025\shard27025.log" --logappend

mongod  --shardsvr --port 27026 --dbpath  "f:\mongodb\data\shard27026" --oplogSize 100 --logpath "f:\mongodb\data\shard27026\shard27026.log" --logappend

mongo localhost:25017/admin

db.runCommand( { addshard : "localhost:27017", allowLocal : 1, maxsize:100} )
db.runCommand( { addshard : "localhost:27018", allowLocal : 1, maxsize:100} )
db.runCommand( { addshard : "localhost:27019", allowLocal : 1, maxsize:100} )
db.runCommand( { addshard : "localhost:27020", allowLocal : 1, maxsize:100} )
db.runCommand( { addshard : "localhost:27021", allowLocal : 1, maxsize:100} )
db.runCommand( { addshard : "localhost:27022", allowLocal : 1, maxsize:100} )
db.runCommand( { addshard : "localhost:27023", allowLocal : 1, maxsize:100} )
db.runCommand( { addshard : "localhost:27024", allowLocal : 1, maxsize:100} )
db.runCommand( { addshard : "localhost:27025", allowLocal : 1, maxsize:100} )
db.runCommand( { addshard : "localhost:27026", allowLocal : 1, maxsize:100} )
maxSize:指定各个shard可使用的最大磁盘空间,单位megabytes
使用db.fs.chunks.stats()命令查看chunks的分块状态得知mongos优先将文件块放在了shard1上,当shard1的大小超过一定规模后(这个规模又不是maxSize设定的100M)才会将文件块迁移向Shard2。
当chunks这个collection在Shard2上面占用的空间大于100M之后(实际上是108906496字节),mongos不断提示“[Balancer] no availalable shards to take chunks”,然后我又新建了shard3同样设置为“maxsize:100”并且添加到集群中,这时mongos自动将一些块迁移到shard3中。等到停止迁移后我新增块,新增的块还是先写入shard1并且不断地有chunks迁移到shard3,但是最终shard1的数据大小远大于100M。
另外,db.fs.chunks在shard2的分布情况如下:
     "shard0001" : {
                       "ns" : "test.fs.chunks",
                       "count" : 340,
                       "size" : 88506100,
                       "avgObjSize" : 260312.0588235294,
                       "storageSize" : 108906496,
                       "numExtents" : 11,
                       "nindexes" : 3,
                       "lastExtentSize" : 21645312,
                       "paddingFactor" : 1,
                       "flags" : 1,
                       "totalIndexSize" : 90112,
                       "indexSizes" : {
                               "_id_" : 32768,
                               "files_id_1" : 24576,
                               "files_id_1_n_1" : 32768
                       },
                       "ok" : 1
               }
由状态信息可知,实际储存的文件大小是88.5M,但是占用的储存空间确是108.9M,可能chunks多余的未用部分用来做了对齐操作。

db.runCommand( { listshards : 1 } )

激活数据库分片
db.runCommand({"enablesharding":"dnt_mongodb"}) 
通过执行以上命令,可以让数据库跨shard,如果不执行这步,数据库只会存放在一个shard,一旦激活数据库分片,数据库中不同的collection将被存放在不同的shard上,但一个collection仍旧存放在同一个shard上,要使单个collection也分片,还需单独对collection作些操作

db.runCommand( { shardcollection : "dnt_mongodb.posts1", key : {url : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts2", key : {url : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts3", key : {url : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts4", key : {url : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts5", key : {url : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts6", key : {url : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts7", key : {url : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts8", key : {url : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts9", key : {url : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts10", key : {url : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts11", key : {url : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts12", key : {url : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts13", key : {url : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts14", key : {url : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts15", key : {url : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts16", key : {url : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts17", key : {url : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts18", key : {url : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts19", key : {url : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts20", key : {url : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts21", key : {url : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts22", key : {url : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts23", key : {url : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts24", key : {url : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts25", key : {url : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts26", key : {_id : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts27", key : {_id : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts28", key : {_id : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts29", key : {_id : 1}, unique: true } )
db.runCommand( { shardcollection : "dnt_mongodb.posts30", key : {_id : 1}, unique: true } )


生产环境建议使用配置文件来启动mongod
分享到:
评论

相关推荐

    Linux安装mongodb客户端

    sudo vim /etc/yum.repos.d/mongodb-org-4.2.repo 写入: [mongodb-org-4.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/ gpgcheck=1 enabled=1 gpg...

    MongoDB应用设计模式

    资源名称:MongoDB应用设计模式内容简介:无论是在构建社交媒体网站,还是在开发一个仅在内部使用的企业应用程序,《MongoDB应用设计模式》展示了MongoDB需要解决的商业问题之间的连接。你将学到如何把MongoDB设计...

    MongoDB(mongodb-org-server_5.0.4_amd64.deb)

    MongoDB Community Server(mongodb-org-server_5.0.4_amd64.deb)适用于适用于Debian10 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是...

    MongoDB Community(mongodb-linux-aarch64-ubuntu1804-5.0.8.tgz)

    MongoDB Community Server(mongodb-linux-aarch64-ubuntu1804-5.0.8.tgz)适用于Ubuntu 18.04 Arm芯片, MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决...

    MongoDB(mongodb-src-r5.0.4.tar.gz)

    MongoDB Community Server(mongodb-src-r5.0.4.tar.gz)源代码 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非...

    mongodb-linux-x86_64-4.0.18.tgz

    mv mongodb-linux-x86_64-4.0.18 mongodb 3、进入 mongodb 目录创建目录 db 和 logs cd /usr/local/mongodb mkdir db mkdir logs 4、进入到 bin 目录下,编辑 mongodb.conf 文件,内容如下: dbpath=/usr/local/...

    基于MongoDB的日志系统Mongodb-Log.zip

    mongodb-log 是一个基于MongoDB的Python日志系统。 MongoDB 的 Capped Collection是一个天生的日志系统,MongoDB自己的oplog就是用它来存储的,Capped Collection的特点是可以指定Collection的大小,当记录总大小...

    mongodb-driver-core-4.2.3-API文档-中文版.zip

    赠送jar包:mongodb-driver-core-4.2.3.jar; 赠送原API文档:mongodb-driver-core-4.2.3-javadoc.jar; 赠送源代码:mongodb-driver-core-4.2.3-sources.jar; 赠送Maven依赖信息文件:mongodb-driver-core-4.2.3....

    基于MongoDb的图书管理系统.rar

    本系统是本人初学MongoDb时所写,代码不是很完美,基本实现图书管理系统的增删改查等基本功能,目前尚有一处缺陷未解决——在查询后只能在控制台看到结果,没有反馈到界面上,有兴趣的朋友可以加以修改,相信这是一...

    2020年最新MongoDB 4.0专讲从入门到精通视频教程.txt

    day1:MongoDB数据库与其他数据库区别介绍及学习方法 day2:MongoDB运行环境搭建及运行 day3:MongoDB增删改查操作实践 day4:教你学会MongoDB聚合操作 day5:索引的特性及应用 day6:MongoDB实例搭建仓位管理API day7:...

    php-mongodb的扩展包

    php-mongodb的扩展包,MongoDB [2] 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据...

    如何安装MongoDB 如何使用MongoDB

    本课程是一套关于MongoDB应用开发的实战性教程,名为《深入浅出MongoDB应用实战开发(基础、开发指南、系统管理、集群及系统架构)》,教程侧重于讲解MongoDB的常用特性及高级特性,从实际开发的角度出发对MongoDB...

    MongoDB笔记.docx

    一、MongoDB简介 3 二、MongoDB结构 3 二、MongoDB 数据库关系型(这里并不是值关系型数据库的关系) 3 1、MongoDB一对一关系型 3 2、MongoDB一对多关系型 4 3、MongoDB多对多关系型 4 三、创建数据库(mongodb_test...

    MongoDB教程基础入门

    教程名称:MongoDB教程基础入门 课程目录:【】MongoDB教程基础入门-代码【】MongoDB教程基础入门01第一讲上【】MongoDB教程基础入门02第一讲下【】MongoDB教程基础入门03第二讲上【】MongoDB教程基础入门04第二讲...

    MongoDB(mongodb-windows-x86_64-5.0.4.zip)

    MongoDB Community Server(mongodb-windows-x86_64-5.0.4.zip)适用于Windows MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于...

    【BAT必备】MongoDB面试题

    【BAT必备】MongoDB面试题【BAT必备】MongoDB面试题【BAT必备】MongoDB面试题【BAT必备】MongoDB面试题【BAT必备】MongoDB面试题【BAT必备】MongoDB面试题【BAT必备】MongoDB面试题【BAT必备】MongoDB面试题【BAT...

    MongoDB图形化管理工具 MongoDB Compass

    MongoDB图形化管理工具 MongoDB Compass

    MongoDB4.2分片及副本集群搭建

    MongoDB4.2分片及副本集群搭建 MongoDB集群 MongoDB分片 MongoDB副本 MongoDB副本集群

    Windows上安装MongoDB:完整步骤详解.pdf

    mongodb安装 《Windows上安装MongoDB:完整步骤详解.pdf》是一份适用于Windows操作系统的MongoDB安装教程,适用于初学者和有经验的开发人员。本教程包括完整的步骤详解,可帮助您快速掌握MongoDB的安装配置,包括...

    MONGOdb视频教程地址.txt

    真实有效的mongodb视频教程地址 深入浅出 MongoDB 高清IT教程视频下载 1.1、-nosql与MongoDB.mp4 1.2、-MongoDB安装配置.mp4 1.3、-MongoDB?shell详.mp4 1.4、-MongoDB文档、集合、数据库的概念.mp4 1.5、-...

Global site tag (gtag.js) - Google Analytics