MongoDB无效文件错误

时间:2017-06-16 10:00:16

标签: mongodb

我有mongo .ns文件,长度为16777217(不是1024 * 1024的倍数)。如果我启动mongo实例,它会给我错误的文件大小无效。理想情况下,ns文件应为1024 * 1024的倍数。不确定它是如何创建的。有什么建议吗?

错误日志:

  

2017-06-16T09:31:30.634 + 0000 I INDEX [initandlisten]无效长度:16777217 for .ns文件:/var/lib/mongodb/mytestDB.ns。无法打开数据库
  2017-06-16T09:31:30.635 + 0000由于DBException 10079无法打开STORAGE [initandlisten]数据库/ var / lib / mongodb / mytestDB:.ns文件的长度无效:16777217:/ var / lib / mongodb / mytestDB.ns。无法打开数据库
  2017-06-16T09:31:30.635 + 0000我在initAndListen中存储[initandlisten]异常:10079 .ns文件的长度无效:16777217:/var/lib/mongodb/mytestDB.ns。无法打开数据库,终止
  2017-06-16T09:31:30.635 + 0000 I NETWORK [initandlisten] shutdown:关闭监听套接字...
  2017-06-16T09:31:30.635 + 0000 I NETWORK [initandlisten]删除套接字文件:/tmp/mongodb-27017.sock
  2017-06-16T09:31:30.635 + 0000 I NETWORK [initandlisten] shutdown:要刷新diaglog ...
  2017-06-16T09:31:30.635 + 0000 I STORAGE [initandlisten] shutdown:等待fs preallocator ...
  2017-06-16T09:31:30.635 + 0000 I STORAGE [initandlisten] shutdown:final commit ...
  2017-06-16T09:31:30.638 + 0000 I JOURNAL [initandlisten] journalCleanup ...
  2017-06-16T09:31:30.638 + 0000 I JOURNAL [initandlisten] removeJournalFiles
  2017-06-16T09:31:30.654 + 0000 I JOURNAL [initandlisten]旧日志文件/var/lib/mongodb/journal/j._0将重新用作/var/lib/mongodb/journal/prealloc.0
  2017-06-16T09:31:30.686 + 0000 I JOURNAL [initandlisten]终止耐久性线程...
  2017-06-16T09:31:30.738 + 0000 I JOURNAL [期刊撰稿人]期刊作者帖子停止了   2017-06-16T09:31:30.738 + 0000 I JOURNAL [耐久性]耐久性线程停止了   2017-06-16T09:31:30.738 + 0000 I STORAGE [initandlisten] shutdown:关闭所有文件......

1 个答案:

答案 0 :(得分:0)

修正了这个问题。理想情况下,文件大小应为1MB的倍数。在这种情况下,1B超过16MB。我将文件大小截断为16MB,mongod实例再次开始工作。

unix命令:

truncate --size = 16M mytestDB.ns