Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows services 运行多个mongod实例作为服务_Windows Services_Mongodb - Fatal编程技术网

Windows services 运行多个mongod实例作为服务

Windows services 运行多个mongod实例作为服务,windows-services,mongodb,Windows Services,Mongodb,我尝试将多个MongoDB实例作为服务启动。在命令行下,我可以启动多个Mongo实例,对于第一个实例,我在命令中附加“-install”,现在它作为服务运行。但现在我尝试将“-install”附加到第二个实例,并得到一个错误: 第一个命令运行良好: c:\data\bin\mongod--nohttpinterface--port 27201--dbpath c:\data\cluster\db1--master--logpath c:\var\log\mongodb\u db1.log--se

我尝试将多个MongoDB实例作为服务启动。在命令行下,我可以启动多个Mongo实例,对于第一个实例,我在命令中附加“-install”,现在它作为服务运行。但现在我尝试将“-install”附加到第二个实例,并得到一个错误:

第一个命令运行良好:

c:\data\bin\mongod--nohttpinterface--port 27201--dbpath c:\data\cluster\db1--master--logpath c:\var\log\mongodb\u db1.log--serviceName mongodb\u 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。创建服务时出错。该名称包括其名称或名称。(1078)

我认为MongoDB使用的内部Servicename与显示的Servicename总是相同而不同。但我不知道如何修复它

有什么建议吗

问候
Rene

我遇到了同样的问题。我的解决方法有点老套,但似乎有效:

  • 使用monogd--install创建第一个mongod服务
  • 打开regedit并导航到HKLM\SYSTEM\CurrentControlSet\services\NameOfMongoService
  • 导出此密钥
  • 在文本编辑器中编辑导出的reg文件,更新服务名称和mongod参数
  • 导入reg(并可能重新启动)
  • 为了让mongos作为服务运行,我采用了不同的方法,并使用了Windows NT资源工具包中的instsrv和srvany:


    这个知识库没有提到在使用instsrv安装srvany之后,您必须在注册表中新创建的服务下添加一个Parameters子项。此密钥应包含一个名为“应用程序”的注册表项,其中包含作为服务启动的应用程序的路径。

    您可以使用适当的命令行开关礼貌地安装第二个实例。只需在此处阅读我的答案

    可能重复的答案看起来中的解决方案更干净。