首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么错误单神死了,但是subsys锁定了,并且Linux上的日志文件没有足够的空闲空间?

为什么错误单神死了,但是subsys锁定了,并且Linux上的日志文件没有足够的空闲空间?
EN

Stack Overflow用户
提问于 2013-01-29 13:44:15
回答 7查看 62K关注 0票数 68

我在Linux服务器上安装了mongo-10 have mongo-10 have服务器

我跟随着Link的脚步。

我已经将/etc/mongod.conf配置为-

代码语言:javascript
复制
logpath=/var/log/mongo/mongod.log
port=27017
dbpath=/var/lib/mongo

我在iptables中为mongo设置了端口27017。为了启动芒果,我使用了命令-

代码语言:javascript
复制
service mongod start and
mongo

开始的很好,但几天后我发现了错误-

代码语言:javascript
复制
Tue Jan 29 08:41:54 [initandlisten] ERROR: Insufficient free space for journal files
Tue Jan 29 08:41:54 [initandlisten] Please make at least 3379MB available in /var/lib/mongo/journal or use --smallfiles
Tue Jan 29 08:41:54 [initandlisten]
Tue Jan 29 08:41:54 [initandlisten] exception in initAndListen: 15926 Insufficient free space for journals, terminating
Tue Jan 29 08:41:54 dbexit:
Tue Jan 29 08:41:54 [initandlisten] shutdown: going to close listening sockets...
Tue Jan 29 08:41:54 [initandlisten] shutdown: going to flush diaglog...
Tue Jan 29 08:41:54 [initandlisten] shutdown: going to close sockets...
Tue Jan 29 08:41:54 [initandlisten] shutdown: waiting for fs preallocator...
Tue Jan 29 08:41:54 [initandlisten] shutdown: lock for final commit...
Tue Jan 29 08:41:54 [initandlisten] shutdown: final commit...
Tue Jan 29 08:41:54 [initandlisten] shutdown: closing all files...
Tue Jan 29 08:41:54 [initandlisten] closeAllFiles() finished
Tue Jan 29 08:41:54 [initandlisten] journalCleanup...
Tue Jan 29 08:41:54 [initandlisten] removeJournalFiles
Tue Jan 29 08:41:54 [initandlisten] shutdown: removing fs lock...
Tue Jan 29 08:41:54 dbexit: really exiting now

当我执行命令时-

代码语言:javascript
复制
service mongod status

它会产生错误-

代码语言:javascript
复制
mongod dead but subsys locked

请帮助我解决单神死亡的问题,但subsys锁住了,没有足够的自由空间供期刊使用,终止了

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2013-07-13 13:10:25

可以将以下内容添加到运行mongod --config mongod.conf时提供的配置文件中

MongoDB 3.x (最新版本)

代码语言:javascript
复制
storage:
   mmapv1:
      smallFiles: true

2.6+版本

代码语言:javascript
复制
storage:
   smallFiles: true

版本2.4及更低版本

代码语言:javascript
复制
smallfiles = true

然后只需执行mongod来接受您的配置文件(在这里它假设配置的位置是/etc/mon头b.conf):

代码语言:javascript
复制
mongod -f /etc/mongodb.conf

Documentation用于小文件参数:

代码语言:javascript
复制
Set to true to modify MongoDB to use a smaller default data file size. 
Specifically, smallfiles reduces the initial size for data files and
limits them to 512 megabytes. The smallfiles setting also reduces the
size of each journal files from 1 gigabyte to 128 megabytes.
票数 88
EN

Stack Overflow用户

发布于 2013-11-09 13:11:46

使用以下命令启动mongod实例

代码语言:javascript
复制
mongod --dbpath /data/db --smallfiles
票数 55
EN

Stack Overflow用户

发布于 2014-11-12 03:47:30

我跟随着http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/的官方指南

使用后

代码语言:javascript
复制
$sudo service mongod start

我通过查看这个日志来验证MongoDB是否已经成功启动:

代码语言:javascript
复制
/var/log/mongodb/mongod.log

这就是我发现的问题:

代码语言:javascript
复制
2014-11-11T12:54:05.808-0500 [initandlisten] ERROR: Insufficient free space for journal files
2014-11-11T12:54:05.808-0500 [initandlisten] Please make at least 3379MB available in /var/lib/mongodb/journal or use --smallfiles
2014-11-11T12:54:05.808-0500 [initandlisten]
2014-11-11T12:54:05.808-0500 [initandlisten] exception in initAndListen: 15926 Insufficient free space for journals, terminating
2014-11-11T12:54:05.808-0500 [initandlisten] dbexit:
2014-11-11T12:54:05.808-0500 [initandlisten] shutdown: going to close listening sockets...
2014-11-11T12:54:05.808-0500 [initandlisten] shutdown: going to flush diaglog...
2014-11-11T12:54:05.808-0500 [initandlisten] shutdown: going to close sockets...
2014-11-11T12:54:05.808-0500 [initandlisten] shutdown: waiting for fs preallocator...
2014-11-11T12:54:05.808-0500 [initandlisten] shutdown: lock for final commit...
2014-11-11T12:54:05.808-0500 [initandlisten] shutdown: final commit...
2014-11-11T12:54:05.808-0500 [initandlisten] shutdown: closing all files...
2014-11-11T12:54:05.808-0500 [initandlisten] closeAllFiles() finished
2014-11-11T12:54:05.808-0500 [initandlisten] journalCleanup...
2014-11-11T12:54:05.808-0500 [initandlisten] removeJournalFiles
2014-11-11T12:54:05.814-0500 [initandlisten] shutdown: removing fs lock...
2014-11-11T12:54:05.814-0500 [initandlisten] dbexit: really exiting now

解决方案:

在文件/etc/mongod.conf的末尾,我添加了以下一行:

代码语言:javascript
复制
smallfiles = true

在那之后,我重新开始了单神服务:

代码语言:javascript
复制
$sudo service mongod restart

然后,当我去查看日志时,我意识到一切都很完美,问题已经解决了:

代码语言:javascript
复制
2014-11-11T22:32:20.544-0500 ***** SERVER RESTARTED *****
2014-11-11T22:32:20.552-0500 [initandlisten] MongoDB starting : pid=5200 port=27017 dbpath=/var/lib/mongodb 64-bit host=jaimemontoya-VirtualBox
2014-11-11T22:32:20.552-0500 [initandlisten] db version v2.6.5
2014-11-11T22:32:20.552-0500 [initandlisten] git version: e99d4fcb4279c0279796f237aa92fe3b64560bf6
2014-11-11T22:32:20.552-0500 [initandlisten] build info: Linux build8.nj1.10gen.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49
2014-11-11T22:32:20.552-0500 [initandlisten] allocator: tcmalloc
2014-11-11T22:32:20.552-0500 [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "127.0.0.1" }, storage: { dbPath: "/var/lib/mongodb", smallFiles: true }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } }
2014-11-11T22:32:20.564-0500 [initandlisten] journal dir=/var/lib/mongodb/journal
2014-11-11T22:32:20.564-0500 [initandlisten] recover : no journal files present, no recovery needed
2014-11-11T22:32:20.738-0500 [initandlisten] waiting for connections on port 27017
2014-11-11T22:33:20.748-0500 [clientcursormon] mem (MB) res:36 virt:245
2014-11-11T22:33:20.748-0500 [clientcursormon]  mapped (incl journal view):64
2014-11-11T22:33:20.748-0500 [clientcursormon]  connections:0
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14584393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档