2010-11-12 78 views
1

我嘗試啓動多個MongoDB實例作爲服務。在命令行下,我可以啓動多個Mongo實例,因爲我首先在命令後附加「--install」,現在它作爲服務運行。但現在我嘗試添加「--install」二審,並得到一個錯誤:運行mongod作爲服務的多個實例

第一個命令運行良好:

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

錯誤:

Creating service MongoDB_2. Error creating service. Der Name wird bereits als Dienstname oder als Dienstinstanzname verwendet. (1078)

我認爲MongoDB的使用內部服務名稱是始終相同,而不同TH e顯示servicename。但我不知道如何解決它?

有什麼建議嗎?

問候 劉若英

+1

可能重複的[Mongodb,分片和多個Windows服務](http://stackoverflow.com/questions/3437173/mongodb-sharding-and-multiple-windows-services) – 2010-11-12 10:46:49

回答

-1

我遇到了同樣的問題。我的解決方法是一種哈克,但它似乎工作:

  1. 使用monogd --install
  2. 打開註冊表編輯器創建第一個mongod的服務,並導航到HKLM \系統\ CurrentControlSet \服務\ NameOfMongoService
  3. 出口此密鑰
  4. 在文本編輯器中編輯導出的reg文件,更新服務名稱和mongod參數。
  5. 導入reg(並可能重新啓動)。

爲了獲得作爲服務運行mongos我採取了不同的方法和使用INSTSRV和SRVANY從Windows NT資源工具包:

http://support.microsoft.com/kb/137890

這KB沒有提到使用intstalling後SRVANY instsrv您必須在註冊表中新創建的服務下添加Parameters子鍵。該密鑰應包含一個名爲「Application」的REG_SZ,其中應用程序的路徑作爲服務啓動。

+2

它看起來像在http://stackoverflow.com/questions/3437173/mongodb-sharding-and-multiple-windows-services中的解決方案更清潔。 – user426724 2010-12-30 19:31:51