Installieren mehrerer MongoDB-Versionen auf demselben Server


7

Ich habe eine 2.4 mongoDB-Version installiert und möchte sie mit der kürzlich veröffentlichten 2.6-Version vergleichen.

Ich möchte wissen, ob es möglich ist, eine Neuinstallation durchzuführen und ein Update durchzuführen, um festzustellen, ob diese beiden Versionen auf demselben Server nebeneinander existieren können.

Ich benutze momentan die Linux Red-Hat Distribution.

Vielen Dank.


Kompilieren Sie eine neuere Version und verwenden Sie einen anderen Installationspfad. Wenn Sie sie gleichzeitig ausführen möchten (schlechte Idee), verwenden Sie verschiedene Ports.
NickW


1
Alternativ können Sie eine zweite Version mit den Binärdateien tar / gzipped installieren, anstatt einen Paketmanager zu verwenden. Sie sind hier verfügbar: mongodb.org/dl/linux/x86_64
James Wahlin

Antworten:


1

Schauen Sie sich das mlaunchTool von Thomas Rueckstiess an . Sobald Sie verschiedene Versionen der Binärdateien von der Download-Seite heruntergeladen haben, wie in den Kommentaren vorgeschlagen (und an einer Stelle platziert, die auf Ihrem System sinnvoll ist), können Sie mlaunchidentische Konfigurationen zum Testen starten, indem Sie einen anderen Binärpfad (und ein anderes Datenverzeichnis) angeben . Port usw., wenn mehrere parallel ausgeführt werden).

Wenn Sie nicht nach zusätzlichen Tools suchen, können Sie mit den von MongoDB bereitgestellten internen Testbefehlen ähnliche Ergebnisse erzielen. Beachten Sie jedoch, dass diese Befehle derzeit zu Testzwecken als intern betrachtet werden, nicht dokumentiert sind und geändert werden können (oder nicht mehr funktionieren) ) jederzeit (Ich habe kürzlich die Versionen 2.4 und 2.6 getestet und kann bestätigen, dass sie zum Zeitpunkt des Schreibens dieser Antwort für diese Versionen funktionieren).

Wenn Sie beispielsweise einen 2-Shard-Cluster einrichten möchten, in dem jeder Shard ein Replikatsatz war, können Sie Folgendes tun:

// 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>

Wiederholen und nach Bedarf mit jeder gewünschten Version wiederverwenden, um sie herunterzufahren, einfach Ctrl-Cdie ursprüngliche Shell (wo die Dinge hoffentlich noch protokolliert werden).

Wenn Sie nur ein Replikatset testen möchten:

// 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>

1

Mit diesen Befehlen können Sie mongodb rpm herunterladen und die Dateien extrahieren. Nach dem Extrahieren des Paketinhalts können Binärdateien direkt verwendet werden.

yum install yum-plugin-downloadonly
yum install --downloadonly --downloaddir=/tmp mongodb-org-server
mkdir /usr/local/mongo2
cd /usr/local/mongo2
rpm2cpio /tmp/mongodb-org-server-2.6.4-1.x86_64.rpm | cpio -idmv

Jetzt kann new mongodaufgerufen werden mit:

/usr/local/mongo2/usr/bin/mongod
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.