Parçalama hakkında konuşmuyorum . Bir test sunucumuz vardı (linux) ve zaten mongo
başka bir projeye / alt takıma ait bir tane var. O çalıştırmak mümkün mü birden izole örneklerini ait mongodb
bir makinede? Nasıl yapabilirim?
Parçalama hakkında konuşmuyorum . Bir test sunucumuz vardı (linux) ve zaten mongo
başka bir projeye / alt takıma ait bir tane var. O çalıştırmak mümkün mü birden izole örneklerini ait mongodb
bir makinede? Nasıl yapabilirim?
Yanıtlar:
Evet, bunu, diğer örnekleri için farklı bağlantı noktası numaraları ve veri dizinleri mongod
belirterek ve sonra istemcideki yeni bağlantı noktası numarasını belirterek yapabilirsiniz.
Örneğin:
./mongod --dbpath /foo/bar/otherpath --port some_other_port
Sen olabilir de değişir eğer gerekiyorsa kırığından sunucu ve yapılandırma sunucusu bağlantı noktası numaralarını.
Attığım adımlar:
İnit.d start komut dosyalarını düzenleyin ve aşağıdakileri değiştirin:
CONFIGFILE = "/ etc / mongod2.conf" (sırasıyla mongod3.conf)
....
mongod = $ {MONGOD- / usr / bin / mongod2} (sırasıyla mongod3)
/ Var / lock / subsys / mongod, bulduğum her yerde / var / lock / subsys / mongod2 (sırasıyla mongod3) ile değiştirildi.
Mongod.lock öğesini mongod2.lock (veya sırasıyla mongod3.lock) ile değiştirmek için günaha karşı koyun. Farklı klasörlerde bulunurlar (veritabanı klasörleri farklıdır) ve çakışmazlar.
Şimdi yapabilirim
service mongod start|stop|status
service mongod2 start|stop|status
service mongod3 start|stop|status
ve ayrıca
mongo --port <port_number>
her mongo örneği için (conf dosyalarındaki bağlantı noktası ayarlarını unutmayın)
Mongod ikilisini yeniden adlandırmanın herhangi bir yan etkisinin farkında değilim.
Bu yardımcı olur umarım.
[Daha sonra düzenleme] Örnekleri otomatik olarak başlatmak için ln -s /etc/init.d/mongod2 /etc/rc.d/rc3.d/S86mongod ve ln -s /etc/init.d/mongod3 / etc / rc .d / rc3.d / S87mongod :)
Ubuntu 16.01
yoktu init.d
. init.d
Komut dosyası içeriği sağlayabilir misiniz ?