我正在使用 mongoid 1.4.12 并且我有一个本地运行的 mongos。这个 mongos 指向几个处于分片模式的副本集。
我的 mongoid.yml 看起来像这样:
production: &production
database: db_name
hosts:
- - localhost
- 27017
read_secondary: true
但是我收到了这个错误:
Cannot connect to a replica set using seeds localhost:27017
为什么?应该如何正确配置呢?
恐怕如果我改成
host: locahost
它不会从我的辅助读取。
最佳答案
首先,确保您的 mongos 在端口 27017 上运行 - 使用 mongo shell 连接到它。由于您使用的是默认端口,这就像运行不带参数的 mongo
可执行文件一样简单(它默认连接到 localhost:27017)。
如果没有连接,则 mongos 可能没有运行,这就是你的问题。如果它正在运行并且你可以连接,那么在你的 yml 文件中试试这个:
hosts:
- localhost:27017
离开 read_secondary 部分以确认连接有效。然后试试这个而不是 read_secondary(见这里:https://github.com/mongoid/mongoid/issues/1368):
options:
read: :secondary
关于ruby - 无法使用种子本地主机 :27017 连接到副本集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11992444/