首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Mongo rs.initiate()过多的磁盘空间需求

Mongo rs.initiate()过多的磁盘空间需求
EN

Stack Overflow用户
提问于 2015-09-23 00:26:31
回答 2查看 50关注 0票数 1

我使用下面的参数运行了2个mongod实例

代码语言:javascript
运行
复制
  --noprealloc --smallfiles --replSet mongors1 --dbpath /data/db --nojournal

本练习的目标是为本地开发创建一个具有最小磁盘占用空间的复制环境。

此时,每个数据系统的大小约为32M,并且具有以下特性,一切都很好

代码语言:javascript
运行
复制
ls -o data/db
total 32784
-rw------- 1 999 16777216 Sep 22 11:38 local.0
-rw------- 1 999 16777216 Sep 22 11:38 local.ns
-rwxr-xr-x 1 999        2 Sep 22 11:38 mongod.lock
-rw-r--r-- 1 999       69 Sep 22 11:38 storage.bson
drwxr-xr-x 2 999     4096 Sep 22 11:38 _tmp

登录到第一个成员并运行rs.initiate()后,将额外使用1G的磁盘空间。

代码语言:javascript
运行
复制
ls -o data/db
total 1080856
-rw------- 1 999  16777216 Sep 22 11:39 local.0
-rw------- 1 999 536608768 Sep 22 11:39 local.1
-rw------- 1 999 536608768 Sep 22 11:39 local.2
-rw------- 1 999  16777216 Sep 22 11:39 local.ns
-rwxr-xr-x 1 999         2 Sep 22 11:38 mongod.lock
-rw-r--r-- 1 999        69 Sep 22 11:38 storage.bson
drwxr-xr-x 2 999      4096 Sep 22 11:39 _tmp

考虑到要复制的节点的属性和它们正在运行的配置,这似乎有点过了。

Mongo 3.0.6是正在使用的版本。

最终,这将扩展到跨2+分片的具有3个成员的副本集。最初,存储零数据所需的最小磁盘空间为6 6Gb似乎不太理想。

有没有一种方法可以将其减少到更能代表节点需求的东西?

任何帮助都是非常感谢的。提前感谢

EN

回答 2

Stack Overflow用户

发布于 2015-09-23 02:32:15

本地数据库包含oplog,我将让您自己研究给定节点的oplog大小。为了解决手头的问题,from the docs

对于64位的Linux、Solaris、FreeBSD和Windows系统,MongoDB将分配5%的可用磁盘空间,但分配的空间始终至少为1 at,并且永远不会超过50 at。

这就是您用法来源-要更改分配,您需要使用resize the oplog,或者,如果从头开始,请查看oplogSizeMB选项(或者有关oplogSizeMB的等价物,请参阅here)。

票数 3
EN

Stack Overflow用户

发布于 2015-09-23 03:02:50

除了Adam所说的之外,添加

代码语言:javascript
运行
复制
--oplogSize X

将X替换为您希望的oplog的MB大小。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32722042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档