我有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:关闭所有文件......
答案 0 :(得分:0)
修正了这个问题。理想情况下,文件大小应为1MB的倍数。在这种情况下,1B超过16MB。我将文件大小截断为16MB,mongod实例再次开始工作。
truncate --size = 16M mytestDB.ns