注册

mongodb 集群重构和释放磁盘空间实例详解

mongodb 集群重构和释放磁盘空间实例详解

集群重构实例

当我们需要扩展mongodb集群时,我们需要向集群添加新的节点。但是,一旦有了新节点,我们必须通过重构过程来使该节点成为集群的一部分。这里我们以MongoDB 3.4版本为例,演示如何对一个集群进行重构。

  1. 启动mongod进程,这里使用基本配置文件:
mongod --config /etc/mongod.conf
  1. 进入mongo shell,使用rs.initiate()初始化一个副本集
rs.initiate()

以上操作将启用一个副本集,其中该单节点是主节点(primary)。

  1. 引入新节点,让该节点加入rs集群
rs.add("192.168.0.2:27017")

这里使用了一个新节点,节点地址为192.168.0.2,端口号为27017

  1. 在第二个节点上启动mongod进程
mongod --config /etc/mongod.conf
  1. 这时主节点会自动将新节点加入集群。我们可以使用以下命令查看当前的成员:
rs.status()

释放磁盘空间实例

在mongodb集群上,释放磁盘空间是一项必要的操作。对于一个较大的集群,磁盘释放工作可能很麻烦。这里我们将演示如何在mongo shell中实现磁盘空间释放。

  1. 在mongo shell中使用use命令进入需要释放空间的数据库。
use mydb
  1. 查看数据库存储内容及索引大小。
db.stats()

以上命令将显示数据库存储容量及索引大小。我们可以看到各种信息和数据类型,包括未使用的空间。

  1. 使用compact命令释放未使用的空间。
db.runCommand({ "compact": "mycoll" })

该命令将迭代当前数据库集合(stores)并将其空间释放。

以上是两个实例,在演示中,我们学习了如何重构mongodb集群,并演示了如何进行mongodb磁盘空间释放。