我真的在 StackOverflow 上查遍了这个问题,但找不到解决方案。我已经通过brew卸载了Homebrew和Mongo。似乎没有什么可以解决它。任何帮助将不胜感激。
2017-08-03T20:29:40.017-0400 I CONTROL [initandlisten] MongoDB starting : pid=7684 port=27017 dbpath=/data/db 64-bit host=Matts-MacBook-Pro.local
2017-08-03T20:29:40.017-0400 I CONTROL [initandlisten] db version v3.4.6
2017-08-03T20:29:40.017-0400 I CONTROL [initandlisten] git version: c55eb86ef46ee7aede3b1e2a5d184a7df4bfb5b5
2017-08-03T20:29:40.017-0400 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2l 25 May 2017
2017-08-03T20:29:40.017-0400 I CONTROL [initandlisten] allocator: system
2017-08-03T20:29:40.017-0400 I CONTROL [initandlisten] modules: none
2017-08-03T20:29:40.017-0400 I CONTROL [initandlisten] build environment:
2017-08-03T20:29:40.017-0400 I CONTROL [initandlisten] distarch: x86_64
2017-08-03T20:29:40.017-0400 I CONTROL [initandlisten] target_arch: x86_64
2017-08-03T20:29:40.017-0400 I CONTROL [initandlisten] options: {}
2017-08-03T20:29:40.018-0400 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=3584M,session_max=20000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2017-08-03T20:29:40.019-0400 E STORAGE [initandlisten] WiredTiger error (2) [1501806580:19955][7684:0x7fffbdc783c0], file:WiredTiger.wt, connection: /data/db/WiredTiger.wt: handle-open: open: No such file or directory
2017-08-03T20:29:40.029-0400 I - [initandlisten] Assertion: 28595:2: No such file or directory src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp 269
2017-08-03T20:29:40.029-0400 I STORAGE [initandlisten] exception in initAndListen: 28595 2: No such file or directory, terminating
2017-08-03T20:29:40.029-0400 I NETWORK [initandlisten] shutdown: going to close listening sockets...
2017-08-03T20:29:40.029-0400 I NETWORK [initandlisten] removing socket file: /tmp/mongodb-27017.sock
2017-08-03T20:29:40.029-0400 I NETWORK [initandlisten] shutdown: going to flush diaglog...
2017-08-03T20:29:40.029-0400 I CONTROL [initandlisten] now exiting
2017-08-03T20:29:40.029-0400 I CONTROL [initandlisten] shutting down with code:100
最佳答案
我也花了4个多小时才找到你问的解决方案。就我而言,堆栈跟踪与您的情况相同。
我使用的是 MongoDB 4.2。但我需要将其降级到 MongoDB 3.4。降级到3.4后可以看到上面的错误。然后我再次将 MongoDB 更新到 4.2。还是有那个错误。
在 Stack Overflow 上尝试了很多解决方案,但没有解决我的问题。作为我的最终选择,我运行以下命令。
mongod --dbpath /data/db --repair
但它也不起作用。
我的 /data/db
目录中有一些文件。
这些是 WiredTiger、WiredTiger.lock、WiredTiger.turtle、diagnostic.data、journal 和 mongod.lock。
删除了/data/db
目录中的所有文件。
rm -rf /data/db/*
如果您不是 root 用户,请使用 sudo
运行上述命令。
然后我再次运行 mongod --dbpath/data/db --repair
命令。
然后我可以通过运行mongod --dbpath/data/db
成功启动MongoDB。
不要忘记将 bin/mongod
添加到 .bash_profile 中的 PATH(如果您使用的是 Mac)。
关于mongodb - mongod src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp 无文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45496546/