网络知识
MongoDB在CentOS中的存储引擎选择建议
2025-07-20 08:54  点击:0

在CentOS上配置MongoDB的存储引擎可以通过修改MongoDB的配置文件 /etc/mongod.conf 来实现。以下是详细的步骤和建议:

安装MongoDB

如果你还没有安装MongoDB,可以使用以下命令进行安装:

sudo yum install -y mongodb-org
启动MongoDB服务

安装完成后,启动MongoDB服务并设置开机自启动:

sudo systemctl start mongodsudo systemctl enable mongod
修改MongoDB配置文件

使用文本编辑器(如 vinano)打开并编辑MongoDB的配置文件:

sudo vi /etc/mongod.conf
配置存储引擎

在配置文件中找到 storage 部分,并根据需要修改存储引擎。例如:

使用 WiredTiger 存储引擎(默认):

storage:dbPath: /var/lib/mongojournal:enabled: trueengine: wiredTiger

使用 MMAPv1 存储引擎(已弃用):

storage:dbPath: /var/lib/mongojournal:enabled: trueengine: mmapv1

请注意,从MongoDB 3.2版本开始,MMAPv1存储引擎已被弃用,并在MongoDB 4.0及更高版本中不再可用。因此,除非你有特别的理由必须使用MMAPv1,否则建议使用WiredTiger存储引擎。

保存并退出配置文件

保存对配置文件的修改并退出编辑器。

重启MongoDB服务

为了使配置更改生效,需要重启MongoDB服务:

sudo systemctl restart mongod
验证存储引擎

你可以通过连接到MongoDB并执行以下命令来验证当前使用的存储引擎:

mongo

在MongoDB shell中,运行以下命令:

db.runCommand({ connectionStatus: 1 })

在输出结果中,查找 storageEngine 字段,它将显示当前使用的存储引擎。

存储引擎特性对比

WiredTiger:

文档空间分配方式:采用B+Tree存储。并发级别:文档级别锁。数据压缩:支持snappy(默认)和zlib压缩。优势:相比MMAPv1无压缩,空间节省数倍;内存使用WiredTiger可以指定内存的使用大小;Cache使用WiredTiger引擎采用了二阶缓存WiredTiger Cache, File System Cache来保证Disk上数据的一致性。

MMAPv1:

文档空间分配方式:线性存储。并发级别:表级锁。数据压缩:无压缩。特点:从MongoDB 3.2版本开始不再支持MMAPv1存储引擎。

通过以上步骤和建议,你可以在CentOS上配置和选择合适的MongoDB存储引擎。根据你的需求选择合适的存储引擎,并确保配置文件正确无误后重启MongoDB服务即可。