Bluemix上的平均堆栈部署:“MongoError:在replicaset中找不到主要内容”

时间:2016-12-03 09:49:51

标签: node.js mongodb mongoose ibm-cloud mean-stack

我现在正在努力解决这个问题一天。我在Google / SO上找不到任何东西,所以我希望你们中的任何人都可以帮助我。

我有一个MEAN堆栈应用程序,我想部署到Bluemix实例。

在Bluemix上我创建了:

  • 1 Node.js app cf instance
  • 1撰写MongoDB实例

我确实将mongodb实例绑定到app。

当我使用cf push“myapp”从我的电脑部署时,一切都运行良好,直到应用程序启动。我收到以下错误:

  

2016-12-03T01:20:24.30 + 0100 [App / 0] OUT {[MongoError:在replicaset中找不到主要内容]   2016-12-03T01:20:24.30 + 0100 [App / 0] OUT名称:'MongoError',   2016-12-03T01:20:24.30 + 0100 [App / 0] OUT消息:'在replicaset中找不到主要'}   2016-12-03T01:20:24.35 + 0100 [App / 0] ERR错误:永久检测到的脚本退出代码:0   2016-12-03T01:20:24.36 + 0100 [App / 0] ERR错误:脚本重启尝试#3   2016-12-03T01:20:26.25 + 0100 [App / 0] ERR无法连接到MongoDB!   2016-12-03T01:20:26.25 + 0100 [App / 0] OUT url mongodb:// xxx:xxx@sl-eu-lon-2-portal.3.dblayer.com:15736,sl-eu-lon- 2-portal.2.dblayer.com:15736/admin?ssl=true

(我通过在部署后运行cf日志来看到这一点)

部署输出以此结束(我假设看到这个,应用程序本身没问题,只是启动不起作用):

0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 down
0 of 1 instances running, 1 down
0 of 1 instances running, 1 down
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting

这些是我正在使用的cloud-foundry.js的相关部分。我已经检查过环境设置是否正确:

'use strict';

var cfenv = require('cfenv'),
    appEnv = cfenv.getAppEnv();
var cfMongoUrl = (function() {
    if (appEnv.getService('mean-mongo')) {
        var mongoCreds = appEnv.getService('mean-mongo').credentials;
        return mongoCreds.uri || mongoCreds.url;
    } else {
        throw new Error('No service names "mean-mongo" bound to the application.');
    }
}());

...

module.exports = {
    port: appEnv.port,
    db: {
        uri: cfMongoUrl,
        options: {
            user: '',
            pass: ''
        }
    },
    ...
}

有没有人知道如何解决这个问题以及为什么会这样?我是否需要创建副本实例?这是如何工作的?

感谢任何帮助。谢谢!

0 个答案:

没有答案