mongodb - 如何在我的 mac 上部署测试 replset 时修复 "EMPTYUNREACHABLE"?

标签 mongodb localhost replication

我正在尝试使用此文档在我的 macbook pro 上部署开发/测试复制集。

http://docs.mongodb.org/manual/tutorial/deploy-replica-set/

我启动了 3 个 mongod 实例,每个实例位于端口 10001、10002、10003 我使用配置文件启动mongod。配置文件如下:

rs0:

dbpath = /Users/Thomas/mongodb/data/rs0/
port = 10000
logpath = /Users/Thomas/mongodb/log/rs0.log
logappend = true
replSet = rs0

rs1:

dbpath = /Users/Thomas/mongodb/data/rs1/
port = 10001
logpath = /Users/Thomas/mongodb/log/rs1.log
logappend = true
replSet = rs0

rs2:

dbpath = /Users/Thomas/mongodb/data/rs2/
port = 10002
logpath = /Users/Thomas/mongodb/log/rs2.log
logappend = true
replSet = rs0

并使用以下命令启动:

mongod -f config/rs0.conf
mongod -f config/rs1.conf
mongod -f config/rs2.conf

然后我使用 mongo: mongo localhost:10001 连接到它,但是当我使用 rs.initiate() 命令初始化 repl 集时,它失败了。

> rs.initiate()
{
"startupStatus" : 4,
"info" : "rs0",
"errmsg" : "all members and seeds must be reachable to initiate set",
"ok" : 0
}

并通过 rs.status() 进行检查

> rs.status()
{
"startupStatus" : 4,
"errmsg" : "can't currently get local.system.replset config from self or any seed (EMPTYUNREACHABLE)",
"ok" : 0
}

日志显示这是一个 EMPTYUNREACHABLE 错误。怎么解决?

***** SERVER RESTARTED *****

Mon Oct 15 22:02:31 [initandlisten] MongoDB starting : pid=568 port=10000              dbpath=/Users/Thomas/mongodb/data/rs0/ 64-bit host=bogon
Mon Oct 15 22:02:31 [initandlisten]
Mon Oct 15 22:02:31 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
Mon Oct 15 22:02:31 [initandlisten] db version v2.2.0, pdfile version 4.5
Mon Oct 15 22:02:31 [initandlisten] git version: f5e83eae9cfbec7fb7a071321928f00d1b0c5207
Mon Oct 15 22:02:31 [initandlisten] build info: Darwin bs-osx-106-x86-64-1.local 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun  7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 i386 BOOST_LIB_VERSION=1_49
Mon Oct 15 22:02:31 [initandlisten] options: { config: "config/rs0.conf", dbpath: "/Users/Thomas/mongodb/data/rs0/", logappend: "true", logpath: "/Users/Thomas/mongodb/log/rs0.log", port: 10000, replSet: "rs0", rest: "true" }
Mon Oct 15 22:02:31 [initandlisten] journal dir=/Users/Thomas/mongodb/data/rs0/journal
Mon Oct 15 22:02:31 [initandlisten] recover : no journal files present, no recovery needed
Mon Oct 15 22:02:31 [websvr] admin web console waiting for connections on port 11000
Mon Oct 15 22:02:31 [initandlisten] waiting for connections on port 10000
Mon Oct 15 22:02:37 [rsStart] trying to contact bogon:10000
Mon Oct 15 22:02:43 [rsStart] couldn't connect to bogon:10000: couldn't connect to server bogon:10000
Mon Oct 15 22:02:49 [rsStart] replSet can't get local.system.replset config from self or any seed (yet)
Mon Oct 15 22:03:05 [rsStart] trying to contact bogon:10000
Mon Oct 15 22:03:11 [rsStart] couldn't connect to bogon:10000: couldn't connect to server bogon:10000
Mon Oct 15 22:03:17 [rsStart] replSet can't get local.system.replset config from self or any seed (yet)
Mon Oct 15 22:03:33 [rsStart] trying to contact bogon:10000
Mon Oct 15 22:03:39 [rsStart] couldn't connect to bogon:10000: couldn't connect to server   bogon:10000
Mon Oct 15 22:03:45 [rsStart] replSet can't get local.system.replset config from self or any seed (yet)
Mon Oct 15 22:04:01 [rsStart] trying to contact bogon:10000
Mon Oct 15 22:04:07 [rsStart] couldn't connect to bogon:10000: couldn't connect to server bogon:10000
Mon Oct 15 22:04:13 [rsStart] replSet can't get local.system.replset config from self or any seed (yet)

最佳答案

尝试将 bind_ip 设置为 127.0.0.1 或在/etc/hosts 中添加 `bogon' 条目?

mongodb 似乎正在获取本地系统的主机名(),但它无法解析。

关于mongodb - 如何在我的 mac 上部署测试 replset 时修复 "EMPTYUNREACHABLE"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12897521/

相关文章:

solr - 如何配置具有多个核心的 Solr 复制

python monary 0.2.3 (mongo monary driver) : error in setup on windows 64bit (Anaconda distribution)

javascript - Mongodb 查找不返回数组

javascript - MongoError : cannot change _id of a document

ssl - nginx、Meteor 和 Docker : Proxy SSL redirection does not work on localhost

apache - WAMP 本地主机上的多个域

mongodb - $filter 嵌套级别与 $or、$gte、$lte 运算符

c - getaddrinfo 删除最后一个字符

MySQL 复制 - 多个主服务器(不同的 d/bs)复制到同一从服务器

php - Muzak 复制建议和技术