如何在mongodb上配置storage.smallFiles

时间:2014-06-26 09:55:41

标签: mongodb

我有一台CentOS机器,我安装了mongodb,我希望它始终使用storage.smallFiles设置,所以我去/etc我创建了一个新文件/etc/mongodb.conf,我在其中添加了以下文字我保存了:

storage:
   smallFiles:
      enabled: true
然后我打字:

$ mongod --config /etc/mongodb.conf
Unrecognized option: storage.smallFiles.enabled
try 'mongod --help' for more information

我关注了http://docs.mongodb.org/manual/reference/configuration-options/#storage.smallFiles

上的文档

4 个答案:

答案 0 :(得分:43)

存储选项smallFiles的配置在不同版本的MongoDB中有所不同。

MongoDB 3.0-4.0 - docs

storage:
  mmapv1:
    smallFiles: true

请注意,MongoDB 4.0中不推荐使用MMAPv1存储引擎,并且将在以后的版本中将其删除 - docs

MongoDB 2.6 - docs

storage:
   smallFiles: true

MongoDB 2.4 - docs

smallfiles = true

您可以通过对admin数据库调用此命令来检查您的设置是否已正确设置:

db.runCommand({getCmdLineOpts:1});

你也可以在启动mongod时直接指定它,但是这会破坏配置文件的目的:

mongod --config /etc/mongodb.conf --smallFiles

答案 1 :(得分:2)

如果您使用的是mongodb:3.0。

您需要将Option Hierarchy设置为storage.mmapv1.smallFiles:true

i * ([(max-min)/5])

照顾yaml文件中的空格。

示例:

storage:
  mmapv1:
    smallFiles: true

答案 2 :(得分:1)

如果您是开发人员,没有时间并且正在使用虚拟机,那么只需复制,粘贴即可!

sudo bash -c "echo \"smallfiles=true\" >> /etc/mongodb.conf"
sudo service mongodb restart

答案 3 :(得分:1)

如果您在使用 mongodb 4.2 时遇到此错误,那是因为在 Mongo DB 4.2

中删除了某些选项
Removed Configuration File Setting           Removed Command-line Option
storage.mmapv1.journal.commitIntervalMs  
storage.mmapv1.journal.debugFlags              mongod --journalOptions
storage.mmapv1.nsSize                          mongod --nssize
storage.mmapv1.preallocDataFiles               mongod --noprealloc
storage.mmapv1.quota.enforced                  mongod --quota
storage.mmapv1.quota.maxFilesPerDB             mongod --quotaFiles
storage.mmapv1.smallFiles                      mongod --smallfiles
storage.repairPath                             mongod --repairpath
replication.secondaryIndexPrefetch             mongod --replIndexPrefetch

请参考Mongodb 4.2 Release Notes