MongoDB社区:任意兼容版本下WiredTiger启动失败

2024-03-08

今天,在没有做出任何有意识的改变的情况下,我的 mongodb 社区停止了工作。

当我检查酿造服务时,我看到错误状态

mongodb-community error  3584 user ~/Library/LaunchAgents/[email protected] /cdn-cgi/l/email-protection

我检查了日志,发现了这个错误:

2022-02-25T15:50:58.324-0800 I  CONTROL  [main] ***** SERVER RESTARTED *****
2022-02-25T15:50:58.330-0800 I  CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2022-02-25T15:50:58.359-0800 W  ASIO     [main] No TransportLayer configured during NetworkInterface startup
2022-02-25T15:50:58.360-0800 I  CONTROL  [initandlisten] MongoDB starting : pid=64356 port=27017 dbpath=/usr/local/var/mongodb 64-bit host=Als-MacBook-Pro.local
2022-02-25T15:50:58.360-0800 I  CONTROL  [initandlisten] db version v4.2.18
2022-02-25T15:50:58.360-0800 I  CONTROL  [initandlisten] git version: f65ce5e25c0b26a00d091a4d24eec1a8b3a4c016
2022-02-25T15:50:58.360-0800 I  CONTROL  [initandlisten] allocator: system
2022-02-25T15:50:58.360-0800 I  CONTROL  [initandlisten] modules: none
2022-02-25T15:50:58.360-0800 I  CONTROL  [initandlisten] build environment:
2022-02-25T15:50:58.360-0800 I  CONTROL  [initandlisten]     distarch: x86_64
2022-02-25T15:50:58.360-0800 I  CONTROL  [initandlisten]     target_arch: x86_64
2022-02-25T15:50:58.360-0800 I  CONTROL  [initandlisten] options: { config: "/usr/local/etc/mongod.conf", net: { bindIp: "127.0.0.1" }, storage: { dbPath: "/usr/local/var/mongodb" }, systemLog: { destination: "file", logAppend: true, path: "/usr/local/var/log/mongodb/mongo.log" } }
2022-02-25T15:50:58.361-0800 I  STORAGE  [initandlisten] Detected data files in /usr/local/var/mongodb created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
2022-02-25T15:50:58.361-0800 I  STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=7680M,cache_overflow=(file_max=0M),session_max=33000,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,close_scan_interval=10,close_handle_minimum=250),statistics_log=(wait=0),verbose=[recovery_progress,checkpoint_progress],
2022-02-25T15:50:58.788-0800 E  STORAGE  [initandlisten] WiredTiger error (13) [1645833058:788043][64356:0x11468e600], wiredtiger_open: __posix_open_file, 665: /usr/local/var/mongodb/WiredTiger.turtle: handle-open: open: Permission denied Raw: [1645833058:788043][64356:0x11468e600], wiredtiger_open: __posix_open_file, 665: /usr/local/var/mongodb/WiredTiger.turtle: handle-open: open: Permission denied
2022-02-25T15:50:58.789-0800 E  STORAGE  [initandlisten] WiredTiger error (13) [1645833058:789197][64356:0x11468e600], wiredtiger_open: __posix_open_file, 665: /usr/local/var/mongodb/WiredTiger.turtle: handle-open: open: Permission denied Raw: [1645833058:789197][64356:0x11468e600], wiredtiger_open: __posix_open_file, 665: /usr/local/var/mongodb/WiredTiger.turtle: handle-open: open: Permission denied
2022-02-25T15:50:58.789-0800 E  STORAGE  [initandlisten] WiredTiger error (13) [1645833058:789360][64356:0x11468e600], wiredtiger_open: __posix_open_file, 665: /usr/local/var/mongodb/WiredTiger.turtle: handle-open: open: Permission denied Raw: [1645833058:789360][64356:0x11468e600], wiredtiger_open: __posix_open_file, 665: /usr/local/var/mongodb/WiredTiger.turtle: handle-open: open: Permission denied
2022-02-25T15:50:58.789-0800 E  STORAGE  [initandlisten] WiredTiger error (13) [1645833058:789507][64356:0x11468e600], wiredtiger_open: __posix_open_file, 665: /usr/local/var/mongodb/WiredTiger.turtle: handle-open: open: Permission denied Raw: [1645833058:789507][64356:0x11468e600], wiredtiger_open: __posix_open_file, 665: /usr/local/var/mongodb/WiredTiger.turtle: handle-open: open: Permission denied
2022-02-25T15:50:58.789-0800 E  STORAGE  [initandlisten] WiredTiger error (13) [1645833058:789685][64356:0x11468e600], wiredtiger_open: __posix_open_file, 665: /usr/local/var/mongodb/WiredTiger.turtle: handle-open: open: Permission denied Raw: [1645833058:789685][64356:0x11468e600], wiredtiger_open: __posix_open_file, 665: /usr/local/var/mongodb/WiredTiger.turtle: handle-open: open: Permission denied
2022-02-25T15:50:58.789-0800 W  STORAGE  [initandlisten] Failed to start up WiredTiger under any compatibility version.
2022-02-25T15:50:58.789-0800 F  STORAGE  [initandlisten] Reason: 13: Permission denied
2022-02-25T15:50:58.789-0800 F  -        [initandlisten] Fatal Assertion 28595 at src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp 928
2022-02-25T15:50:58.789-0800 F  -        [initandlisten] \n\n***aborting after fassert() failure\n\n

我在Google和Stack中搜索,找到了一些解决方案,例如将MongoDB降级到4.2.x版本,或者设置权限,但都不起作用。

我能做些什么? 我什至会考虑丢失数据,因为这是一个带有虚拟数据的本地服务器。无论如何,我想以正确的方式解决它。

Thanks.


这通常发生在升级时,因此请检查您的 mongo 版本。我在几台服务器上遇到了同样的问题。避免这种情况的正确方法是在进行 mongo 升级之前将 FCV (featureCompatibilityVersion) 设置为正确的版本。在这种情况下,在升级到 mongo 4.4 之前,应将其设置为版本 4.2。要检查当前的 FCV,请在 mongo shell (admin db) 中运行以下命令:

db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })

就我而言,它是 4.0,所以我必须通过执行以下命令来更新它:

db.adminCommand( { setFeatureCompatibilityVersion: "4.2" } )

然后顺利升级到mongo 4.4。

如果您已经搞砸了,应该可以降级到 mongo 4.2.6 或更高版本,如上所述更新 FCV,然后升级到 mongo 4.4。根据您的 日志中,看起来它没有访问某些文件的权限(例如 /var/lib/mongodb/),因此请确保这些文件由 mongodb 用户拥有。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MongoDB社区:任意兼容版本下WiredTiger启动失败 的相关文章

随机推荐