MongoDB释放磁盘空间
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释放磁盘空间的更多相关文章
- mongodb 释放磁盘空间
db.copyDatabase("from","to","127.0.0.1:16161"); 将127.0.0.1上的from库.拷贝到t ...
- mongodb拷贝数据库copyDatabase()。实现释放磁盘空间的方法。
下面我们一起来看看关于mongodb拷贝数据库copyDatabase().实现释放磁盘空间的方法,希望文章对各位同学会有所帮助. db.copyDatabase("from",& ...
- Mysql InnoDB彻底释放磁盘空间
Innodb数据库对于已经删除的数据只是标记为删除,并不真正释放所占用的磁盘空间,这就导致InnoDB数据库文件不断增长. 如果需要彻底释放磁盘空间,则需要先导出数据,然后删除数据文件,最后导入数据. ...
- [记录]一则清理MySQL大表以释放磁盘空间的案例
一则清理MySQL大表以释放磁盘空间的案例 一.基本情况: 1.dbtest库554G,先清理st_online_time_away_ds(37G)表的数据,保留半年的数据: 1)删除的数据:sele ...
- MySQL删除数据几种情况以及是否释放磁盘空间【转】
MySQL删除数据几种情况以及是否释放磁盘空间: 1.drop table table_name 立刻释放磁盘空间 ,不管是 Innodb和MyISAM ; 2.truncate table tabl ...
- 利用lsof命令查找已经删除的文件来释放磁盘空间
测试环境一台服务器/目录空间使用率达到97%,但是通过du -sh *发现实际空间没用到那么多,初步怀疑,之前删除的文件,有运行中的进程一直占用,导致空间没有释放,如图通过du -sh *发现共实际使 ...
- (转) Delete/Truncate删除,释放表空间、降低高水位线、resize释放磁盘空间相关优化
硬盘空间不足,打算删除数据库中的多余数据,但删除数据后,硬盘硬盘空间不能释放.[delete后用:alter table table_name move truncate后用:alter tab ...
- MongoDB repairDatabase 释放磁盘空间
repairDatabase是官方文档中认为唯一可以回收硬盘空间的方法. repairDatabase is the appropriate and the only way to reclaim d ...
- 【mongo】drop不释放磁盘空间
用drop删除mongo的collection后,其size归零,但是storage仍然是原大小,磁盘空间没有被释放. 要用下面命令释放无用的磁盘空间 mongod -repair
随机推荐
- maven dependencies 里面的包怎么导出
进入工程pom.xml 所在的目录下,输入以下命令:mvn dependency:copy-dependencies -DoutputDirectory=lib更简单的 mvn dependency: ...
- vbox丢失*MultiArch_amd64.msi或者*MultiArch_x86.msi重新制作
1.去官网下载你缺少这个文件的那个版本的exe文件. 2.下载7-zip软件(就在百度下载,比较小). 3.用7-zip解压这个exe.会出现一个文件夹,大概名字为VirtualBox-4.3.12- ...
- Openfire 编译插件
新增的插件打包方法: 3.打包插件 a.第一次打包需配置ant工具.在环境变量中, 添加 path=C:\Program Files\Java\jdk1.5.0_09\;D:\Program File ...
- javascript type操作
var a; type a;//结果为undefined type b;//结果也是undefinedalert(a);//弹出undefinedalert(b);//错误代码 上述代码,type ...
- 在vs2012中使用TeeChart空间
今天下了TeeChart 安装中发现没有VS2012选项 在看了官网回答后 可以 如下解决 1.- Install last maintenance release of 28 Septemb ...
- Ambari 不能配置 Kafka 监听host的问题
问题:Ambari下Kafka多IP监听配置 环境:Ambari 1.7.0 , Hadoop 2.2 Kafka 0.8.1.2.2.0.0 现象: Ambari 中是不能配置Kafka的host. ...
- 十五、polygon API
How polygons are handled internally The five basic polygonal API classes Construction History and Tw ...
- 《疯狂Java讲义》(一) ---- 关于学习Java的反思
"听到Spring很火,就立马买来一本Spring的书来读,最后结果往往是失败,因为这种学习没有积累,没有根基,学习过程中困难重重,每天都被一些相同.类似的问题所困扰,起初热情十足,经常上论 ...
- (Hibernate进阶)Hibernate映射——多对多关联映射(八)
多对多映射是现实生活中最常见的映射,也是最容易理解的映射.废话少说,直接开始. 映射原理 不论是单向关联还是双向关联都是通过第三张表,将两个表中的主键放到第三张做一个关联.用第三张表来解决可能会造成数 ...
- C# 调用Adodb对Access数据库执行批量插入
public void BatchInsertIntoAccess(DataTable dt) { ADODB.Connection cn; ADODB.Recordset rs; string st ...