`
lzj0470
  • 浏览: 1270767 次
  • 性别: 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功能的样例数据集,特别是针对增、删、改、查(CRUD)操作的学习...

    linux安装mongodb教程

    /usr/local/mongodb/mongodb-linux-2.0.7/bin/mongod --dbpath=/usr/local/mongodb/data/db --logpath=/usr/local/mongodb/mongodb-linux-2.0.7/logs/mongodb.log --logappend --port=27017 --fork 知识点 6:配置...

    spring-data使用mongodbTemplate对MongoDB进行读写操作

    Spring Data MongoDB是一个强大的Java库,它为开发人员提供了一种简单的方式来访问和操作MongoDB数据库。这个库是Spring Data框架的一部分,旨在简化数据访问层的实现,尤其在使用NoSQL数据库如MongoDB时。MongoDB...

    MongoDB实验 - .docx

    MongoDB 实验报告 本实验报告旨在详细介绍 MongoDB 的安装、配置和基本操作步骤,本报告基于 CentOS 7 系统,通过一步一步的截图和文字说明,帮助读者快速掌握 MongoDB 的使用。 一、安装 MongoDB 首先,我们需要...

    mongodb c#驱动最新驱动mongodb.driver.dll 版本2.12.0-beta1

    MongoDB 是一个流行的开源、基于分布式文件存储的数据库系统,主要设计用于处理大量数据的分布式环境。C# 驱动是 MongoDB 提供的一种客户端库,允许 .NET 开发者与 MongoDB 数据库进行交互。标题提到的是 MongoDB 的...

    MongoDB之conf配置文件详解

    MongoDB之conf配置文件详解 MongoDB的配置文件是服务器的核心组件之一,它控制着MongoDB服务器的各种设置和行为。在本文中,我们将详细介绍MongoDB的配置文件的各个部分,并解释每个设置的作用和意义。 一、数据库...

    mongodb.dll 下载.zip

    MongoDB是一个开源、分布式、高性能的NoSQL数据库,以其灵活性、可扩展性和高可用性而闻名。`mongodb.dll`是MongoDB数据库系统在Windows平台上运行所必需的一个动态链接库(DLL)文件,它包含了MongoDB客户端和...

    geoserver发布mongodb矢量数据地图服务.docx

    Geoserver发布MongoDB矢量数据地图服务 Geoserver是一款功能强大且开源的地理信息系统(GIS)服务器,能够实现空间数据的存储、处理和发布。MongoDB是一款NoSQL数据库,能够存储大量的矢量数据。本文将介绍如何使用...

    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是...

    MongoDB4.2.21 Linux版本安装包

    MongoDB是一款高性能、无模式的分布式文档型数据库,被广泛应用于大数据分析、内容管理系统、物联网(IoT)、实时应用程序和地理位置数据存储等场景。在Linux环境下安装MongoDB 4.2.21版本,是许多系统管理员和开发者...

    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数据库jar包

    MongoDB是一个流行的开源、分布式文档型数据库,设计用于处理大量数据并提供高可用性和高性能。在Java应用程序中,为了与MongoDB进行交互,我们需要使用Java MongoDB驱动程序。这个压缩包包含的就是Java连接MongoDB...

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

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

    MongoDB c#驱动 dll

    MongoDB是一种流行的开源、分布式文档型数据库,以其灵活性、高性能和可伸缩性而闻名。在C#开发环境中,MongoDB提供了专门的C#驱动程序,使得开发者能够方便地与MongoDB进行交互。本篇文章将深入探讨MongoDB的C#驱动...

    Mongodb for Ubuntu 18.04 ARM 64

    MongoDB 是一个流行的开源文档型数据库,被广泛用于存储、管理和检索非结构化或半结构化数据。在本文中,我们将深入探讨如何在基于ARM架构的Ubuntu 18.04系统上安装和使用MongoDB。 一、ARM架构与Ubuntu 18.04 ARM...

    MongoDB Days 2015 深圳 PPT 共享

    MongoDB是一种分布式文档数据库,以其灵活性、高性能和可伸缩性而闻名,尤其适用于处理大量半结构化和非结构化数据。MongoDB Day 2015 深圳活动显然是一个专门针对MongoDB技术的研讨会或会议,旨在深入探讨和分享...

    mongodb Windows7 64位

    MongoDB是一款开源、高性能、无模式的文档型数据库,它在现代应用程序开发中扮演着重要的角色,特别是在处理大量非结构化数据时。针对"mongodb Windows7 64位"这个主题,我们将深入探讨MongoDB在Windows 7 64位操作...

Global site tag (gtag.js) - Google Analytics