【问题标题】:play framework+morphia doesn't work with mongodb replsetplay framework+morphia 不适用于 mongodb replset
【发布时间】:2014-12-11 20:08:51
【问题描述】:

我用的是play框架+morphia+mongodb。当 mongodb 在没有 replset 的情况下运行时,它工作正常。但是,当我使用 play 框架设置 mongodb replset 时,出现“com.mongodb.MongoException: not speak to master and retries used up”异常。我该如何解决这个问题,以便播放框架可以与 mongodb replset 一起使用?

播放框架

2.2.6

MongoDB版本

2.6.5

所有 3 个 mongodb 实例的 mongod.conf

dbpath=/var/data/mongodb
logpath=/var/log/mongod.log
port=39068
nohttpinterface=false
fork=true
replSet=cluster

rs.conf 来自 192.168.1.1

{
"_id" : "cluster",
"version" : 2,
"members" : [ 
    {
        "_id" : 0,
        "host" : "localhost.localdomain:39068"
    }, 
    {
        "_id" : 1,
        "host" : "192.168.1.2:39068"
    }
    , 
    {
        "_id" : 2,
        "host" : "192.168.1.3:39068",
        "arbiterOnly" : true
    }
]
}

【问题讨论】:

    标签: mongodb playframework playframework-2.2


    【解决方案1】:

    在副本集配置中看到 localhost 看起来有点奇怪,因为它将在所有机器上解析为 127.0.0.1。我不确定,但我的猜测是您的客户端正在尝试连接到自身而不是 192.168.1.1(我猜是主节点)。

    MongoDB 提供了一个tutorial 说明如何更改副本集中的主机名。尝试按照它将 localhost.localdomain 更改为 192.68.1.1。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多