经典再续!《循序渐进Linux(第2版)

爱维Linux

 找回密码
 加入爱维Linux

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: 活动 交友 discuz
查看: 1343|回复: 0

mongodb导入数据与numactl

[复制链接]

13

主题

22

帖子

0

精华

爱维中学生

Rank: 2

积分
67
发表于 2015-9-9 17:02:03 | 显示全部楼层 |阅读模式

马上加入爱维网,一起交流运维经验!

您需要 登录 才可以下载或查看,没有帐号?加入爱维Linux

x
首先要说明的rockmongo是一个很好的mongodb的查询工具,但是我却悲惨在这货手里!

一不小心把生产环境的一个数据库给删除了!恶梦就此开始。。。。。。

生产环境正常情况下数据大小有近900G但是用dump命令备份出来的文件大小只有近40G不到,现在就要用40G的数据使用mongorestore 命令恢复到900G数据,

一开始直接使用mongodbrestore恢复时,每5分钟才才能恢复1%,这不是要人命么?

搞了近7个小时后,终于有个同事(高手)说要换一种方式才行

把mongodb服务端使用numactl --interleave=all 可以成倍的提高导入速度!

OK,试一下!

没有numactl命令,使用yum安装

yum install -y numactl

再使用命令

echo 0 > /proc/sys/vm/zone_reclaim_mode

vi /proc/sys/vm/zone_reclaim_mode

sysctl -w vm.zone_reclaim_mode=0


Mongdb启动命令变成:
numactl --interleave=all mongod --directoryperdb --rest --replSet kdweiboset0 --dbpath=/data --port 27017 --fork --logpath /logs/datacore.log --logappend --maxConns 16000

再重新使用导入命令:

/kingdee/mongodb/bin/mongorestore -h 192.168.240.100 --port 27017 -d dbname --directoryperdb /mongodb/data/dump/dbname

导入速度快了N倍呀!
Mongodb服务端运行也快了好多,瞎了很多年!!!


再就是使用mongodump命令导出的数据太耗时间了,数据量大时一定不要用呀,血的教训!
还是用数据文件备份吧,停secondary 后备份再启secondary!


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入爱维Linux

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|Archiver|手机版|小黑屋|爱维教育 ( 14004819

GMT+8, 2019-5-27 19:56 , Processed in 0.068154 second(s), 31 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表