我尝试启动MongoDB作为服务的多个实例。在命令行下我可以启动多个Mongo实例,对于第一个实例,我将“--install”附加到命令,现在它作为服务运行。但现在我尝试将“--install”附加到第二个实例并获得错误:
第一个命令运行良好:
c:\ data \ bin \ mongod --nohttpinterface --port 27201 --dbpath c:\ data \ cluster \ db1 --master --logpath c:\ var \ log \ mongodb_db1.log --serviceName MongoDB_1 - -install
但第二个错误:
c:\ data \ bin \ mongod --nohttpinterface --port 28000 --dbpath c:\ data \ cluster \ db2 --master --logpath c:\ var \ log \ mongodb_db2.log --serviceName MongoDB_2 - -install
错误:
创建服务MongoDB_2。创建服务时出错。 Der Name wird bereits als Dienstname oder als Dienstinstanzname verwendet。 (1078)
我认为MongoDB使用的内部Servicename始终与显示的servicename相同且不同。但我不知道如何解决它?
有什么建议吗?
此致 雷
答案 0 :(得分:4)
您可以使用正确的命令行开关进行礼貌安装第二个实例。请在此处阅读我的回答https://stackoverflow.com/a/9273816/249992
答案 1 :(得分:-1)
我遇到了同样的问题。我的解决方法有点像hacky,但似乎有效:
为了让mongos作为服务运行,我采用了不同的方法,并使用了Windows NT资源工具包中的instsrv和srvany:
http://support.microsoft.com/kb/137890
这个kb没有提到在使用instsrv安装srvany后,你必须在注册表中新创建的服务下添加一个Parameters子键。此密钥应包含一个名为“Application”的REG_SZ,其中包含应用程序作为服务启动的路径。