在 MongoDB 3 中启用 WiredTiger 引擎

在 MongoDB 3 中启用 WiredTiger 引擎

我在通过 mongod.conf 中的设置启用 WiredTiger 引擎时遇到问题,我正在使用 Centos 7,这是我的配置

#/etc/mongod.conf
贮存:
    wiredTiger:
        引擎配置:
            缓存大小GB: 2
        集合配置:
            blockCompressor:活泼
    数据库路径:“/var/lib/mongo”
系统日志:
    目的地:文件
    路径:“/var/log/mongodb/mongod.log”
    logAppend:true
    #时间戳格式: iso8601-utc
流程管理:
    叉:真
    pidFilePath:“/var/run/mongodb/mongod.pid”
网:
    绑定Ip:10.0.1.136,127.0.0.1
    端口:27017
    wireObjectCheck : true
    unix域套接字:
        已启用 : true
安全:
    密钥文件:“/etc/mongo.rs1.key”
    授权:“已启用”
复制:
   oplog大小MB:2048
   复制集名称:rs1

Mongo 启动了,但是引擎是 mmapv1 :( 这是 mongo 日志中的输出

当当前存储引擎为 mmapv1 时,检测到非活动存储引擎 wiredTiger 的配置

我只能通过手动调用命令来启用 wiredtiger

mongod --storageEngine wiredTiger

我的配置文件有问题吗?我在 Centos 6 上遇到了同样的问题。

编辑:在 Centos 7 上,我可以通过制作 systemd init 脚本来启用 WiredTiger(Mongo3 默认带有 /etc/init.d 脚本)。

/lib/systemd/system/mongod.service

[单元]
描述=高性能、无模式的面向文档的数据库
之后=syslog.target 网络.target

[服务]
类型=分叉
用户=mongod
组=mongod
PID文件=/var/run/mongodb/mongod.pid
环境文件=/etc/sysconfig/mongod
ExecStart=/bin/mongod $OPTIONS 运行

# 省略其他指令
# (文件大小)
LimitFSIZE=无穷大
#(CPU 时间)
LimitCPU=无穷大
#(虚拟内存大小)
LimitAS=无穷大
#(打开文件)
限制NOFILE=64000
#(进程/线程)
限制NPROC=64000

[安装]
WantedBy=多用户.目标

并更改文件 /etc/sysconfig/mongod 中的启动选项

选项=“--storageEngine wiredTiger -f /etc/mongod.conf”

这样就可以正常工作了,但是为什么在 mongod.conf 文件中配置它时仍然不起作用?

答案1

如果我没记错的话,你的配置中必须有这个:

storage:
    engine: wiredTiger

虽然我现在无法测试它......

编辑:在如何使用 WiredTiger 将 MongoDB 2.6 迁移到 3.0

相关内容