我正在使用Mongo DB,我是新手.我即将把它安装在专门为Mongo服务的服务器上.
我想创建它的2个实例 - 1个用于支持QA环境,另一个用于支持Staging Environment.
我更熟悉SQL Server,我可以在其中创建多个实例.
有没有可能对Mongo DB做同样的事情,如果是这样,怎么样?
kas*_*sur 60
上述答案不是推荐的运行多个实例的方法(特别是当服务器可能同时运行时),因为它会导致使用相同的配置参数,例如logpath和pidfilepath,这在大多数情况下不是你的想.
请考虑创建专用的mongod配置文件,如mongod-QA.conf和mongod-STAGE.conf.在这些文件中,您可能希望提供特定于每个mongod实例的dbpath,logpath文件夹,bind_ip,port和pidfilepath,这些不会相互影响.
完成这些步骤后,您可以按如下方式触发两个实例
mongod --config <path-to>/mongod-QA.conf
mongod --config <path-to>/mongod-STAGE.conf
Run Code Online (Sandbox Code Playgroud)
您可以在mongodb docs 页面上找到更多详细信息
Ila*_*ang 50
您只需要为第二个实例创建另一个文件夹(例如:mongodb2)dbpath,并在不同的端口运行它(例如:27018)
mongod --dbpath /usr/local/var/mongodb2 --port 27018
Run Code Online (Sandbox Code Playgroud)
dis*_*ame 33
以下是我在同一台PC上启动4个mongod 以模拟开发环境中的生产环境的方法.
要启动mongod,您应该为每个mongod使用单独的配置.采取4个配置并使用它们启动mongods:
start C:\mongodb\bin\mongod.exe --config C:\net2\dev1-pc\configs\mongod-primary1.cfg
start C:\mongodb\bin\mongod.exe --config C:\net2\dev1-pc\configs\mongod-secondary1.cfg --rest
start C:\mongodb\bin\mongod.exe --config C:\net2\dev1-pc\configs\mongod-secondary2.cfg
start C:\mongodb\bin\mongod.exe --config C:\net2\dev1-pc\configs\mongod-secondary3.cfg
Run Code Online (Sandbox Code Playgroud)
配置看起来像这样:
mongod-primary1.cfg文件内容
systemLog:
destination: file
path: c:\net2\primary1-pc\data\log\mongod.log
storage:
dbPath: c:\net2\primary1-pc\data\db
net:
port: 27018
replication:
replSetName: repl1
Run Code Online (Sandbox Code Playgroud)
mongod-secondary1.cfg文件内容
systemLog:
destination: file
path: c:\net2\secondary1-pc\data\log\mongod.log
storage:
dbPath: c:\net2\secondary1-pc\data\db
net:
port: 27019
replication:
replSetName: repl1
Run Code Online (Sandbox Code Playgroud)
mongod-secondary2.cfg文件内容
systemLog:
destination: file
path: c:\net2\secondary2-pc\data\log\mongod.log
storage:
dbPath: c:\net2\secondary2-pc\data\db
net:
port: 27020
replication:
replSetName: repl1
Run Code Online (Sandbox Code Playgroud)
mongod-secondary3.cfg文件内容
systemLog:
destination: file
path: c:\net2\secondary3-pc\data\log\mongod.log
storage:
dbPath: c:\net2\secondary3-pc\data\db
net:
port: 27021
replication:
replSetName: repl1
Run Code Online (Sandbox Code Playgroud)
Asy*_*sky 11
这是可能的 - 你会给每个人自己的端口监听,并自己的--dbpath目录来放入它的文件,但我不建议这样做,因为他们都将竞争相同的资源 - RAM,i /带宽等
如果此服务器上有多个磁盘,您可以将其数据文件放在不同的设备上,但仍然存在降低生产实例可用性的风险,可能是在最糟糕的时间.
我会把QA实例放在一个随机的机器上,这个机器在我将它与我的生产实例共存之前做了一些不重要的事情.
| 归档时间: |
|
| 查看次数: |
62241 次 |
| 最近记录: |