【发布时间】:2018-01-06 13:46:31
【问题描述】:
在尝试创建 db 的副本集时,我收到一个错误,即 dbpath /data/db 不存在。我目前在 docker 中以 root 身份运行 mongo。 版本(mongo)2.6..10。 我开始使用 service mongodb start 命令,之后出现下面的 mongo shell.log
root@5936a72e744f:/dbex# mongod --replSet myDevReplSet
2017-07-31T05:13:30.946+0000 [initandlisten] MongoDB 开始:pid=679 端口=27017 dbpath=/data/db 64 位主机=5936a72e744f 2017-07-31T05:13:30.947+0000 [initandlisten] 数据库版本 v2.6.10 2017-07-31T05:13:30.947+0000 [initandlisten] git 版本:nogitversion 2017-07-31T05:13:30.947+0000 [initandlisten] OpenSSL 版本:OpenSSL 1.0.2g 2016 年 3 月 1 日 2017-07-31T05:13:30.947+0000 [initandlisten] 构建信息:Linux lgw01-12 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 BOOST_LIB_VERSION= 1_58 2017-07-31T05:13:30.948+0000 [initandlisten] 分配器:tcmalloc 2017-07-31T05:13:30.949+0000 [initandlisten] 选项:{复制:{replSet:“myDevReplSet”}} 2017-07-31T05:13:30.950+0000 [initandlisten] initAndListen 中的异常:10296
错误:dbpath (/data/db) 不存在。 创建此目录或在 --dbpath 中提供现有目录。 见http://dochub.mongodb.org/core/startingandstoppingmongo
,终止
【问题讨论】:
-
那么什么不是关于错误的描述?实际上,它甚至还附带了一个文档链接,那么它需要更多描述性吗?
-
True.but 在文档中它说如何更改数据的默认路径。我能够启动 mongo shell 就好了。当我输入 mongo 时我没有收到连接错误.....但是当我创建一个复制集时,它会抛出数据路径不存在的错误。
-
因为您正在“启动一个新实例”。与已经运行的那个不同,它没有这样的配置来告诉它在哪里创建它的数据文件或任何其他选项。也许您实际上应该在开始组装自行车之前阅读手册。 Deploy a Replica Set for Testing and Development
-
当然,如果您真正想做的只是在现有实例上“启用副本集”,以便有一个“oplog”可以跟随一个可尾光标,那么您需要添加:
replSetName: myDevReplSet到您现有的配置,可能在/etc/mongod.conf
标签: mongodb