1. 先删除旧的文档db.remove({});

2. 从副本集中移除待清理的成员:

  (1) 登录副本集中的 Primary 服务器(/opt/mongo1/bin/mongo --port 27017)

  (2) rs.remove("192.168.1.54:27019")

3. 关闭待清理的 mongodb 服务器

  (1) 登录待清理的 mongodb 服务器(/opt/mongo2/bin/mongo --port 27018)

  (2) user admin; db.shutdownServer();

4. 修改 mongodb 启动参数,并运行

  bin/mongod --dbpath /home/mongodata2/data --port 27018 --logpath=/home/mongodata2/logs/mongodb2.log --repair --repairpath /opt/data

5. 确认 mongod 运行结束

  可以用 ps axu | grep mongod 查看进程是否结束。
  也可以看日志文件 /home/mongodata2/logs/mongodb2.log 是否有如下输出:

  2016-05-10T13:14:41.646+0800 [conn5413] dbexit: shutdown called
  2016-05-10T13:14:41.646+0800 [conn5413] shutdown: going to close listening sockets...
  2016-05-10T13:14:41.646+0800 [conn5413] closing listening socket: 8
  2016-05-10T13:14:41.646+0800 [conn5413] closing listening socket: 10
  2016-05-10T13:14:41.646+0800 [conn5413] removing socket file: /tmp/mongodb-27018.sock
  2016-05-10T13:14:41.646+0800 [conn5413] shutdown: going to flush diaglog...
  2016-05-10T13:14:41.646+0800 [conn5413] shutdown: going to close sockets...
  2016-05-10T13:14:41.646+0800 [conn5413] shutdown: waiting for fs preallocator...
  2016-05-10T13:14:41.646+0800 [conn5413] shutdown: lock for final commit...
  2016-05-10T13:14:41.646+0800 [conn5413] shutdown: final commit...
  2016-05-10T13:14:41.647+0800 [conn5413] shutdown: closing all files...
  2016-05-10T13:14:41.832+0800 [conn5413] closeAllFiles() finished
  2016-05-10T13:14:41.832+0800 [conn5413] journalCleanup...
  2016-05-10T13:14:41.832+0800 [conn5413] removeJournalFiles
  2016-05-10T13:14:41.889+0800 [conn5413] shutdown: removing fs lock...
  2016-05-10T13:14:41.889+0800 [conn5413] dbexit: really exiting now

6. 最后以正常方式启动 mongod,并将成员加入到副本集中

  登录副本集中的 Primary 服务器

  rs.add("IPADDR:27018")

  查看副本集的运行结果:  rs.printSlaveReplicationInfo()

MongoDB释放磁盘空间的更多相关文章

  1. mongodb 释放磁盘空间

    db.copyDatabase("from","to","127.0.0.1:16161"); 将127.0.0.1上的from库.拷贝到t ...

  2. mongodb拷贝数据库copyDatabase()。实现释放磁盘空间的方法。

    下面我们一起来看看关于mongodb拷贝数据库copyDatabase().实现释放磁盘空间的方法,希望文章对各位同学会有所帮助. db.copyDatabase("from",& ...

  3. Mysql InnoDB彻底释放磁盘空间

    Innodb数据库对于已经删除的数据只是标记为删除,并不真正释放所占用的磁盘空间,这就导致InnoDB数据库文件不断增长. 如果需要彻底释放磁盘空间,则需要先导出数据,然后删除数据文件,最后导入数据. ...

  4. [记录]一则清理MySQL大表以释放磁盘空间的案例

    一则清理MySQL大表以释放磁盘空间的案例 一.基本情况: 1.dbtest库554G,先清理st_online_time_away_ds(37G)表的数据,保留半年的数据: 1)删除的数据:sele ...

  5. MySQL删除数据几种情况以及是否释放磁盘空间【转】

    MySQL删除数据几种情况以及是否释放磁盘空间: 1.drop table table_name 立刻释放磁盘空间 ,不管是 Innodb和MyISAM ; 2.truncate table tabl ...

  6. 利用lsof命令查找已经删除的文件来释放磁盘空间

    测试环境一台服务器/目录空间使用率达到97%,但是通过du -sh *发现实际空间没用到那么多,初步怀疑,之前删除的文件,有运行中的进程一直占用,导致空间没有释放,如图通过du -sh *发现共实际使 ...

  7. (转) Delete/Truncate删除,释放表空间、降低高水位线、resize释放磁盘空间相关优化

    硬盘空间不足,打算删除数据库中的多余数据,但删除数据后,硬盘硬盘空间不能释放.[delete后用:alter table table_name move    truncate后用:alter tab ...

  8. MongoDB repairDatabase 释放磁盘空间

    repairDatabase是官方文档中认为唯一可以回收硬盘空间的方法. repairDatabase is the appropriate and the only way to reclaim d ...

  9. 【mongo】drop不释放磁盘空间

    用drop删除mongo的collection后,其size归零,但是storage仍然是原大小,磁盘空间没有被释放. 要用下面命令释放无用的磁盘空间 mongod -repair

随机推荐

  1. Easyui datebox 限制时间选择范围

    Require Date: <input class="easyui-datebox" data-options="formatter:myformatter,pa ...

  2. javascript属性标签

  3. java中interface的详解

    JAVA的核心概念:接口(interface) 接口与类属于同一层次,实际上,接口是一种特殊的抽象类. 如:    interface IA{ }  public interface: 公开接口  与 ...

  4. 转 nutch网页快照乱码解决方法

    修改apache-tomcat-7.0.55\webapps\nutch-1.2下的cached.jsp 将content = new String(bean.getContent(details)) ...

  5. 初学PHP

    这东西必须得静下心来学,快是快不来的,得有一个痛苦的过程.<PHP和MySQL WEB开发>这本书很值得一看,有了坚实的基础,推荐看<深入php++面向对象.模式与实践+第三版> ...

  6. 关于intellij IDEA 上junit的用法

    话说,最近正在看视频学java.里面有个叫做junit的东西很有用.但是实话说我摆弄了半天都没弄明白. 今天呢通过一些资料,终于弄清楚了junit的大致用法,这里写出来,用以分享和备忘. 首先,环境和 ...

  7. VC++6.0 配置CppUTest测试环境

    最近看<软件项目成功之道>,书中无数次提及到“单元测试”对于项目成败的重要性,看到同事将CppUTest用于Linux动态库测试,于是在VC++6.0环境下搭建一个基于CppUTest的单 ...

  8. [转]在 ASP.NET MVC 4 中创建为移动设备优化的视图

    原文链接 https://msdn.microsoft.com/zh-cn/magazine/dn296507.aspx 如果深入探讨有关编写移动设备网站的常识性考虑因素,会发现其中有一种内在矛盾.  ...

  9. CSS3按钮鼠标悬浮光圈效果

    1 .HTML相关知识点  HTML(超文本标记语言)是网页的核心.首先你要学会,不要害怕,HTML很容易学习的,刚开始多记多练,但是到最后还是要自己深入专研,简单的入门是很快,但学好HTML是成为W ...

  10. 4、C#进阶:MD5加密、进程、线程、GDI+、XML、委托

    MD5加密 将字符串进行加密,无法解密.网上的解密方式也都是在库里找,找不到也没有. 1 protected void Page_Load(object sender, EventArgs e) 2 ...