我正在使用MongoDB worker role project在Azure上使用MongoDB。我有两个单独的云服务,其中一个一切正常,但另一方面,MongoDB工作者角色陷入Busy (Waiting for role to start... Calling OnRoleStart
状态。
我连接到其中一个MongoDB工作者角色并访问了MongoDB日志文件,发现以下错误:
[rsStart] replSet can't get local.system.replset config from self or any seed (EMPTYCONFIG)
有关于如何正常修复此问题的线程,但不包含Windows Azure。我没有为MongoDB工作者角色配置任何东西(除了Azure存储连接字符串),它在另一个服务中工作,所以我不知道为什么它不适用于这个服务。有什么想法吗?
答案 0 :(得分:0)
前段时间我试图在Azure中托管RavenDB作为工作者角色,并且也有很多问题。
今天,我认为最好按照这个"Install MongoDB on Windows"指南在目标平台上运行数据库作为Windows服务的“建议”方式。这样您就不必处理特定于Azure的问题。为此,您可以:
但我认为托管数据库时最重要的问题是:您打算在哪里存储实际的数据库?
至于您的问题的实际故障排除。我建议用try-catch包装OnRoleStart,将其写入日志,启用RDP到框,然后连接并查看实际问题。另一种选择是使用IntelliTrace,但你需要VS Ultimate。另外,如果您的应用需要写入磁盘,请不要忘记Azure需要使用本地资源。