Wie installiere ich MongoDB 3.0 in Vivid?

8

Das offizielle lebendige Paket für mongodb ist 2.x, und die Pakete, die MongoDB selbst auf http://repo.mongodb.org/apt/ubuntu/dists/trusty/ bereitstellt, sind nur für LTS-Versionen verfügbar.

Eine Alternative ist, dass ich zurück zu 14.04 LTS wechseln könnte, aber ich müsste openjdk-8-jdk installieren, das nur für vivid verfügbar ist.

Hugh Rawlinson
quelle
1
Ich denke, nichts Schlimmes wird passieren, wenn Sie es von vertrauenswürdigem Repo bis lebendig installieren.
Pilot6

Antworten:

13

Es ist möglich, dass MongoDB nicht startet, wenn Sie die Trusty-Pakete verwenden:

Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.

Installieren Sie in diesem Fall die Debian Wheezy- Pakete wie am Ende beschrieben.

Installieren Sie die Trusty DEB-Pakete

Laden Sie die DEB-Dateien herunter

cd
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-mongos_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-server_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-shell_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-tools_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org_3.0.3_amd64.deb

Und installieren mit (in dieser Reihenfolge)

sudo dpkg -i mongodb-org-server_3.0.3_amd64.deb
sudo dpkg -i mongodb-org-tools_3.0.3_amd64.deb
sudo dpkg -i mongodb-org-shell_3.0.3_amd64.deb
sudo dpkg -i mongodb-org-mongos_3.0.3_amd64.deb
sudo dpkg -i mongodb-org_3.0.3_amd64.deb

Und aus den Kommentaren genommen, danke @ Pilot6 :

Sie können Abhängigkeiten voneinander haben. Aus diesem Grund können Installationspakete nacheinander Fehler verursachen. Ich schlage vorsudo dpkg -i mongodb*.deb


Verwenden Sie die vertrauenswürdige PPA

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org

Verwenden Sie die Debian Wheezy-Pakete

Es ist möglich, dass MongoDB nicht startet, wenn Sie die Trusty-Pakete verwenden:

Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.

Installieren Sie in diesem Fall die Debian Wheezy- Pakete wie unten beschrieben

sudo apt-get remove mongodb-org
sudo apt-get autoremove
sudo rm /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org
AB
quelle
Sie können Abhängigkeiten voneinander haben. Aus diesem Grund können Installationspakete nacheinander Fehler verursachen. Ich schlage vorsudo dpkg -i mongodb*.deb
Pilot6
@ Pilot6 Daher sudo dpkg -i mongodb-org_3.0.3_amd64.debals letzter Befehl
AB
Nur ein Vorschlag. Und es ist einfacher als ein Befehl. Wenn Sie mehrere Pakete in einem Befehl installieren, werden Abhängigkeiten aufgelöst.
Pilot6
@ Pilot6 hinzugefügt und verknüpft =)
AB
Ok, ich habe die Trusty-Deb-Pakete verwendet und es hat funktioniert. Wie kann ich es dann als Dienst ausführen, damit ich es starten und stoppen kann service mongod start?
Hugh Rawlinson
4

Erfolgreich installiert mit Mongo Version 3.0.6 in meinem Ubuntu 15.04 unter Verwendung des Debian Wheezy Repository - siehe unten Schritte

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list

sudo apt-get update

sudo apt-get install -y mongodb-org

Nach all den oben genannten Schritten und der Installation von mongodb auf meinem Computer schlug der Versuch, den mongodb-Dienst sudo service mongod startdamit zu starten , jedoch fehl. Die folgende Fehlermeldung wird ausgelöst

Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.

Also hier ist, wie ich mongodb normal aufgelöst und gestartet habe

  • Ändern Sie die Standard-Datenspeicherdateien von MongoDB von / var / lib / mongodb in / data / db

  • sudo mkdir -p /data/db

  • sudo gedit /etc/mongod.conf und ändern Sie die Zeile "dbpath" wie folgt

  • Ersetzen Sie dbpath = / var / lib / mongodb TO dbpath = / data / db und speichern Sie die Datei.

  • Löschen Sie dann die alte Standardeinstellung / var / lib / mongodb

  • Jetzt müssen wir alle Verzeichnisse / Dateien erstellen, die dem mongod-Benutzer gehören

  • Lauf sudo chown -R mongodb:mongodb /data/db

Und jetzt kann ich endlich mit Mongo anfangen sudo service mongod start

Und chcek, mit dem der Dienst ausgeführt wird sudo systemctl status mongod - Es sollte eine Meldung ähnlich der folgenden angezeigt werden

Loaded: loaded (/etc/init.d/mongod)

Active: active (running) since Thu 2015-09-03 04:57:49 IST; 7s ago

Habe meine Schritte in meinem Blogbeitrag detailliert beschrieben .

Rohan_Paul
quelle
1

Wie ich bereits sagte: Die Debian / Ubuntu-Pakete wurden mit systemd-Serviceeinheiten gepatcht, um die Lücke zu füllen, die das direkt von mongodb.org veröffentlichte Material hinterlassen hat. Aber es gibt keinen Mangel an mongodb.serviceEinheitendateien im WWW. Es ist auch nicht schwer, einen zu schreiben. (Ich habe.)

Insbesondere: Eine solche Serviceeinheit finden Sie im Paket mongodb-server Version 2.6 für Ubuntu Version 15 . Es gibt auch eine Serviceeinheit, die von mongodb.org veröffentlicht wird. Es ist einfach so, dass die Leute von mongodb.org die Verwendung von RPM fälschlicherweise mit der Verwendung von systemd in den verteilungsspezifischen Dingen in Verbindung gebracht haben.

Beachten Sie, dass die von mongodb.org bereitgestellten Serviceeinheiten ironischerweise nicht die von mongodb.org selbst empfohlenen Anweisungen für systemd Serviceeinheiten anwenden . Die von Debian / Ubuntu gelieferten auch nicht. Aber noch einmal: Eine handgeschriebene Serviceeinheit mit diesen Anweisungen ist nicht schwer zu schreiben. oder in der Tat zu modifizieren, um Dinge wie numactl hinzuzufügen. ☺

Weiterführende Literatur

JdeBP
quelle
0

Nun, keine Antwort von AB hat funktioniert. Meine einzige Option war also die Installation vom Tarball

Befolgen Sie die Anweisungen in den Dokumenten zu diesem Thema.

deostroll
quelle
0

Als kurze Ergänzung zu @ ABs hervorragender Antwort. Auf lebendigem amd64, mit einer früheren Installation von mongod 2.6 .26, ersetzen Sie einfach die vorhandene sources.list.dDatei durch

deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse

gefolgt von einem Dist-Upgrade, das automatisch funktioniert hat.

sudo apt-get update
sudo apt-get dist-upgrade
serv-inc
quelle