Linux

在同一台伺服器上安裝多個 mongoDB 版本

  • August 14, 2014

我已經安裝了 2.4 的 mongoDB 版本,我想與最近發布的 2.6 版本進行比較。

我想知道是否可以進行全新安裝而不是更新以查看這兩個版本是否可以在同一伺服器中共存。

我現在正在使用 Linux red-hat 發行版。

謝謝。

看看Thomas Rueckstiessmlaunch工具一旦按照評論中的建議從下載頁面下載不同版本的二進製文件(並將它們放在系統上有意義的地方),您就可以通過指定不同的二進制路徑(和數據目錄等,如果並行執行多個)。mlaunch

如果額外的工具不是您想要的,您可以使用 MongoDB 提供的內部測試命令獲得類似的結果,但請注意**,這些命令目前被認為是內部用於測試目的,沒有記錄,並且可以更改(或停止工作)在任何時候**(我最近在 2.4 和 2.6 版本上進行了測試,並且可以確認它們在撰寫此答案時適用於這些版本)。

例如,如果您想設置一個 2 分片集群,其中每個分片是一個副本集,您可以執行以下操作:

// start a shell from the command line, do not connect to a database
./mongo --nodb
// using that shell start a new 2 shard cluster (this will take a while)
cluster = new ShardingTest({shards : 2, rs : true});
// once that is finished, start a new shell and connect to the mongos (leave previous shell running to monitor logs etc.)
./mongo --port 30999
MongoDB shell version: 2.6.0
connecting to: 127.0.0.1:30999/test
mongos>

根據需要重複並重新使用您希望的任何版本,將其關閉,只需Ctrl-C原始外殼(希望仍在記錄的地方)。

同樣,如果您只想使用副本集進行測試:

// start a shell from the command line, do not connect to a database
./mongo --nodb
var rst = new ReplSetTest({ name: 'testSet', nodes: 3});
rst.startSet();
// this next line can be hard to type with logging scrolling by, so copy & paste is your friend if you have trouble
rst.initiate();
// start a new shell and connect to the set
./mongo --port 31000
MongoDB shell version: 2.4.9
connecting to: 127.0.0.1:31000/test
testSet:PRIMARY>

引用自:https://serverfault.com/questions/590576