我在尝试将mongodb副本集实现为Windows Azure中的辅助角色实例时遇到问题。在Windows Azure门户中,其中一个实例显示为忙于状态:
Waiting for role to start... Calling OnRoleStart()
我检查了所有设置,一切似乎都没问题,问题是什么?
答案 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
。