我想在我的Ubuntu机器上为Mongo DB设置Master Slave配置。我可以在/etc/mongodb.conf中看到设置,但这会使我的DB成为Master或Slave。
有什么方法可以在同一台机器上运行两个不同的服务器,并使用一个作为Master,另一个作为slave。我想这样做是为了测试目的。
答案 0 :(得分:2)
最好的方法是不使用/etc/init.d/*脚本并使用旧的命令行。确保mongodb未在您的计算机上运行。找到安装二进制文件的文件夹,然后从命令行运行:
./mongod --dbpath /path_to_master_db_files --master --logpath /path_to_logs/master.log --port 27017 --fork
然后打开另一个终端,导航到同一个文件夹并运行:
./mongod --dbpath /path_to_slave_db_files --slave --logpath /path_to_logs/slave.log --port 27018 --source=localhost:27017 --fork
你去了 - 你应该有一个主人在27017上运行,奴隶在27018上运行。希望这会有所帮助。
BTW,我假设您没有在生产中运行此配置,只想在本地实例上试用它。
答案 1 :(得分:0)
出于测试目的,您可以手动启动两个实例,查看this link。引用文档:
重要 副本集替换大多数用例的主从复制。如果可能,请为所有新生产部署使用副本集而不是主从复制。本文档仅用于支持旧版部署和归档目的。
找到MongoDB二进制文件所在的文件夹:
mkdir -p ../master
./mongod --dbpath ../master --master --logpath ../master/master.log --port 27017
然后打开另一个终端,导航到同一个文件夹并运行:
mkdir -p ../slave
./mongod --dbpath ../slave --slave --logpath ../slave/slave.log --port 27018 --source=localhost:27017