无法使用缺少的集合 wt 文件启动 mongod
Unable to start mongod with one missing collection wt file
我有一个可用的 mongod 实例 (v3.2.21)。
但是突然它停止工作了。当我 运行 mongo 命令时,它抛出以下错误:
2019-06-04T13:52:41.725+0000 W NETWORK [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: errno:111 Connection refused
当我查看日志时显示:
2019-06-04T13:36:43.388+0000 E STORAGE [initandlisten] WiredTiger (2) [1559655403:388180][8404:0x7fb74e904c80], file:collection-1-1305830686620002691.wt, WT_SESSION.open_cursor: /mnt/volume-fra1-01//collection-1-1305830686620002691.wt: handle-open: open: No such file or directory
2019-06-04T13:36:43.388+0000 E STORAGE [initandlisten] no cursor for uri: table:collection-1-1305830686620002691
2019-06-04T13:36:43.388+0000 F - [initandlisten] Invalid access at address: 0x58
2019-06-04T13:36:43.398+0000 F - [initandlisten] Got signal: 11 (Segmentation fault).
数据目录中现在缺少之前的集合
我尝试使用 --repair,但进程在此集合处停止。
我查看了各种资源,但不知道如何让它发挥作用?有没有办法让 wiredtiger 逃脱这个集合?
MongoD 4.0.3 和更新版本根据 SERVER-19815 具有更好的修复功能。
您可以尝试一件事:
- 复制您的原始数据
dbpath
,这样即使尝试不成功,您也不会破坏原始数据
- 下载 4.0.3 二进制文件(或更新版本,目前最新的是 4.0.10)
mongod --repair
使用 4.0.3 二进制文件尝试修复复制的 dbpath
- 如果修复成功,尝试运行将3.2.21二进制文件指向已修复的
dbpath
请注意,此修复尝试是 best-effort,不保证一定会成功。仍然建议进行 up-to-date 备份。您可能还想调查 dbpath
是如何缺少开头的文件的。
我有一个可用的 mongod 实例 (v3.2.21)。
但是突然它停止工作了。当我 运行 mongo 命令时,它抛出以下错误:
2019-06-04T13:52:41.725+0000 W NETWORK [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: errno:111 Connection refused
当我查看日志时显示:
2019-06-04T13:36:43.388+0000 E STORAGE [initandlisten] WiredTiger (2) [1559655403:388180][8404:0x7fb74e904c80], file:collection-1-1305830686620002691.wt, WT_SESSION.open_cursor: /mnt/volume-fra1-01//collection-1-1305830686620002691.wt: handle-open: open: No such file or directory
2019-06-04T13:36:43.388+0000 E STORAGE [initandlisten] no cursor for uri: table:collection-1-1305830686620002691
2019-06-04T13:36:43.388+0000 F - [initandlisten] Invalid access at address: 0x58
2019-06-04T13:36:43.398+0000 F - [initandlisten] Got signal: 11 (Segmentation fault).
数据目录中现在缺少之前的集合
我尝试使用 --repair,但进程在此集合处停止。
我查看了各种资源,但不知道如何让它发挥作用?有没有办法让 wiredtiger 逃脱这个集合?
MongoD 4.0.3 和更新版本根据 SERVER-19815 具有更好的修复功能。
您可以尝试一件事:
- 复制您的原始数据
dbpath
,这样即使尝试不成功,您也不会破坏原始数据 - 下载 4.0.3 二进制文件(或更新版本,目前最新的是 4.0.10)
mongod --repair
使用 4.0.3 二进制文件尝试修复复制的dbpath
- 如果修复成功,尝试运行将3.2.21二进制文件指向已修复的
dbpath
请注意,此修复尝试是 best-effort,不保证一定会成功。仍然建议进行 up-to-date 备份。您可能还想调查 dbpath
是如何缺少开头的文件的。