Azure中的MongoDB副本集“等待角色启动...调用OnRoleStart()”

时间:2013-02-19 15:00:09

标签: mongodb azure

我在尝试将mongodb副本集实现为Windows Azure中的辅助角色实例时遇到问题。在Windows Azure门户中,其中一个实例显示为忙于状态:

Waiting for role to start... Calling OnRoleStart()

我检查了所有设置,一切似乎都没问题,问题是什么?

1 个答案:

答案 0 :(得分:0)

Denis Markelov's博客文章帮我解决了这个问题。解决方案主要是他的,但是我不得不采取额外措施让它发挥作用,并认为其他人可能会发现它有用。

来自博客的解决方案:

  

Windows Azure重新使用虚拟机来处理角色,所以在重新开始之后   在硬盘驱动器上部署,您可以找到在其中创建的文件   以前的会议。如果MongoDB被错误地终止 - 可能会   是一个锁文件(“persisted mutex”analogue),因为MongoDB   拒绝开始。它位于带标签的驱动器上   “WindowsAzureDrive”(说它是F :),在路径上:

     

F:\数据\ mongod.lock

     

在生产使用的情况下,这种情况可能需要a   恢复程序,但是如果你刚刚进入初始阶段   安装 - 删除此文件是安全的,让MongoDB启动   试。

我遇到了这个问题并按照建议行事,但我仍然遇到同样的问题。所以我看了

的日志文件
  

C:\资源\目录\ .MongoDB.WindowsAzure.MongoDBRole.MongodLogDir \ mongod.txt

看到另一个文件也出错了。要解决此问题,您还必须删除local.ns所在目录中的文件mongod.lock