1

我正在使用 mongoid 1.4.12,并且我有一个本地运行的 mongos。这个 mongos 指向一些分片模式下的副本集。

我的 mongoid.yml 看起来像这样:

production: &production
  database: db_name
  hosts:
    - - localhost
      - 27017
  read_secondary: true

但是我收到了这个错误:

无法使用种子 localhost:27017 连接到副本集

为什么?那么它应该如何正确配置呢?

恐怕如果我改成

主机:本地主机

它不会从我的中学读取。

4

2 回答 2

4

首先,确保您的 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
于 2012-08-16T17:46:52.213 回答
-1

所以我的最终配置是:

production: &production
  database: db_name
  host: localhost
  slave_ok: true

它可以通过我的 localhost mongos 从中学阅读。

于 2012-08-17T16:17:43.593 回答