GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So installieren Sie MongoDB von der Quelle (und mit YUM) unter Linux

Der Name MongoDB wurde von Humongo abgeleitet uns DB.

Es ist eine Open-Source-NoSQL-Datenbank. MongoDB wird von der Firma 10gen entwickelt und kommerziell unterstützt.

Der Fokus der MongoDB liegt auf Skalierbarkeit und Leistung. MongoDB ist eine schemafreie dokumentenorientierte Datenbank. Dadurch werden Daten als JSON-Objekte gespeichert. Im Gegensatz zu herkömmlichen SQL-Datenbanken müssen Sie kein Schema definieren. Das Schema ist in das Datendokument selbst eingebettet, sodass Sie das Schema jederzeit problemlos ändern können, ohne sich Gedanken über die Änderung eines der zuvor geladenen Dokumente machen zu müssen. Hohe Leistung und Skalierbarkeit sind möglich, da auf MongoDB keine Joins und keine Transaktionen mit mehreren Dokumenten durchgeführt werden. Dies bietet auch eine serverübergreifende Replikation mit der Möglichkeit zum automatischen Failover. Sie können für Hochverfügbarkeit auch mehrere Server skalieren.

Dieser Artikel ist der erste Teil einer Reihe von Artikeln zu MongoDB.

Installieren Sie MongoDB mit YUM

Die Installation von MongoDB mit yum ist ziemlich einfach.

Richten Sie das Yum-Repository der 10. Generation ein

Fügen Sie zunächst das 10gen-Repository wie unten gezeigt zu Ihrem Yum hinzu.

# vi /etc/yum.repos.d/10gen.repo
[10gen]
name=10gen Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64
gpgcheck=0
enabled=1

Hinweis:Das Obige gilt für ein 64-Bit-System. Wenn Sie ein 32-Bit-System verwenden, verweisen Sie die Basis-URL in der obigen Datei auf http://downloads-distro.mongodb.org/repo/redhat/os/i686

Führen Sie nun „yum info“ aus, um die Pakete mongo-10gen und mongo-10gen-server anzuzeigen.

# yum info mongo-10gen
Name        : mongo-10gen
Arch        : x86_64
Version     : 2.2.2
Release     : mongodb_1
Size        : 43 M
Repo        : 10gen
Summary     : mongo client shell and tools
URL         : http://www.mongodb.org
License     : AGPL 3.0

# yum info mongo-10gen-server
Name        : mongo-10gen-server
Arch        : x86_64
Version     : 2.2.2
Release     : mongodb_1
Size        : 6.7 M
Repo        : 10gen
Summary     : mongo server, sharding server, and support scripts
URL         : http://www.mongodb.org
License     : AGPL 3.0

Mongo-Client- und -Serverpakete installieren

Installieren Sie diese beiden mongo-*-Pakete wie unten gezeigt.

# yum install mongo-10gen mongo-10gen-server
  Installing : mongo-10gen-2.2.2-mongodb_1.x86_64
  Installing : mongo-10gen-server-2.2.2-mongodb_1.x86_64

Überprüfen Sie die mongod.conf-Datei

Dadurch werden auch die Standarddatei /etc/mongod.conf und das Startskript /etc/rc.d/init.d/mongod

installiert

Die Datei /etc/mongod.conf enthält die folgenden Standardwerte. Wie Sie hier sehen, werden die Mongo-Datenbankdateien im Verzeichnis /var/lib/mongo erstellt. Wenn Sie möchten, dass die DB-Dateien in einem anderen Verzeichnis erstellt werden, ändern Sie das Verzeichnis dbpath in der Datei mongod.conf.

# cat /etc/mongod.conf
logpath=/var/log/mongo/mongod.log
logappend=true
fork = true
dbpath=/var/lib/mongo
pidfilepath = /var/run/mongodb/mongod.pid

MongoDB-Server starten

Starten Sie den Mongod-Dienst wie unten gezeigt.

# service mongod start
Starting mongod: forked process: 15968
all output going to: /var/log/mongo/mongod.log
child process started successfully, parent exiting

Sehen Sie sich die Protokolldateien an, um sicherzustellen, dass MongoDB erfolgreich gestartet wurde. Standardmäßig läuft der MongoDB-Server auf Port 27017.

# cat /var/log/mongo/mongod.log
Sat Jan 19 10:57:03 [initandlisten] MongoDB starting : pid=15968 port=27017 dbpath=/var/lib/mongo 64-bit host=centos
Sat Jan 19 10:57:03 [initandlisten] db version v2.2.2, pdfile version 4.5
Sat Jan 19 10:57:03 [initandlisten] git version: d1b43b61a5308c4ad0679d34b262c5af9d664267
Sat Jan 19 10:57:03 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
Sat Jan 19 10:57:03 [initandlisten] options: { config: "/etc/mongod.conf", dbpath: "/var/lib/mongo", fork: "true", logappend: "true", logpath: "/var/log/mongo/mongod.log", pidfilepath: "/var/run/mongodb/mongod.pid" }
Sat Jan 19 10:57:03 [initandlisten] journal dir=/var/lib/mongo/journal
Sat Jan 19 10:57:03 [initandlisten] recover : no journal files present, no recovery needed
Sat Jan 19 10:57:03 [websvr] admin web console waiting for connections on port 28017
Sat Jan 19 10:57:03 [initandlisten] waiting for connections on port 27017

Verwenden Sie Mongo Shell, um eine Verbindung zu MongoDB herzustellen

Geben Sie „mongo“ ein, um die Mongo-Shell zu starten und sich mit MongoDB zu verbinden, um einige Datenbankoperationen durchzuführen. Dadurch wird die Eingabeaufforderung „>“ angezeigt, an der Sie Mongo-Client-Befehle eingeben können.

# mongo
MongoDB shell version: 2.2.2
connecting to: test
Welcome to the MongoDB shell.
>

Der folgende Befehl fügt ein Beispieldokument namens „sites“ in die MongoDB-Sammlung ein. Dies ähnelt dem SQL-Befehl „INSERT into“.

> doc1 = { name : "ramesh" };
> db.sites.insert( doc1 );

Im Folgenden werden alle Dokumente in der MongoDB-Sammlung „Sites“ angezeigt. Dies ähnelt dem SQL-Befehl „SELECT * from“.

> db.sites.find()
{ "_id" : ObjectId("50f72809a8e3c7a3aba2bf15"), "name" : "ramesh" }

Installieren Sie MongoDB von der Quelle

Wenn Sie MongoDB von der Quelle installieren möchten, befolgen Sie die unten aufgeführten Schritte.

Voraussetzungen installieren

Stellen Sie sicher, dass gcc-c++ und das Paket glibc-devel bereits installiert sind. MongoDB verwendet Scons, um den Quellcode zu erstellen. Stellen Sie also sicher, dass das scons-Paket bereits installiert ist.

# rpm -qa | egrep 'gcc-c++|glibc-devel|scons'
gcc-c++-4.4.6-4.el6.x86_64
glibc-devel-2.12-1.80.el6_3.6.x86_64
scons-2.0.1-1.el6.noarch

Wenn Sie diese Voraussetzungen nicht haben, installieren Sie sie.

# yum install gcc-c++ glibc-devel scons

MongoDB herunterladen

Gehen Sie zur MongoDB-Downloadseite und laden Sie den Quellcode herunter. Die aktuelle stabile Version von MongoDB ist 2.2.2.

Sobald Sie den Download-Link haben, können Sie auch wget verwenden, um den Quellcode direkt herunterzuladen.

cd /usr/src
wget http://downloads.mongodb.org/src/mongodb-src-r2.2.2.tar.gz
tar xvfz mongodb-src-r2.2.2.tar.gz
cd mongodb-src-r2.2.2

MongoDB mit Scons erstellen

Scons ist ähnlich zu machen. Geben Sie „scons all“ ein, um die MongoDB aus der Quelle zu erstellen.

Bitte beachten Sie, dass beim Ausführen von „scons all“ nur eine CPU verwendet wird und nur ein Job gleichzeitig ausgeführt wird, um den Quellcode zu erstellen. Es wird also langsam. Wenn Sie möchten, dass scons die gesamte CPU verwenden und während des Baus mehrere Jobs ausführen, sollten Sie die Anzahl der auszuführenden Jobs angeben.

Auf meinem System habe ich 8 Kerne. Also habe ich „scons -j 8 all“ ausgeführt, wie unten gezeigt, um zu bauen.

# scons -j 8 all
scons: Reading SConscript files ...
scons version: 2.0.1
python version: 2 6 6 'final' 0
Checking whether the C++ compiler works(cached) yes
Checking for C header file unistd.h... (cached) yes
Checking whether clock_gettime is declared... (cached) yes
Checking for C library rt... (cached) yes
Checking for C++ header file execinfo.h... (cached) yes
Checking whether backtrace is declared... (cached) yes
Checking whether backtrace_symbols is declared... (cached) yes
Checking for C library pcap... (cached) no
Checking for C library wpcap... (cached) no
Checking if __malloc_hook is declared volatile... (cached) no
scons: done reading SConscript files.
..
Install file: "build/linux2/normal/mongo/test" as "test"
scons: done building targets.

Sobald Sie den Quellcode erstellt haben, sollten wir ihn installieren. Verwenden Sie „scons install“, um MongoDB zu installieren. Standardmäßig wird es unter /usr/local/bin installiert. Wenn Sie MongoDB in einem anderen Verzeichnis installieren möchten, verwenden Sie die Option „–prefix“.

Um MongoDB im Verzeichnis /opt/mongo zu installieren, führen Sie den folgenden scons-Befehl aus.

# scons --prefix=/opt/mongo install

Wie Sie unten sehen, wurde MongoDB im Verzeichnis /opt/mongo installiert.

# ls -l /opt/mongo/
total 12
drwxr-xr-x. 2 root root 4096 Jan 19 13:33 bin
drwxr-xr-x. 3 root root 4096 Jan 19 13:33 include
drwxr-xr-x. 2 root root 4096 Jan 19 13:33 lib

Erstellen Sie die Datei /etc/mongod.conf

Erstellen Sie die folgende Konfigurationsdatei, die vom MongoDB-Server während des Starts verwendet wird.

# cat /etc/mongod.conf
logpath=/var/log/mongo/mongod.log
logappend=true
fork = true
dbpath=/var/lib/mongo
pidfilepath = /var/run/mongodb/mongod.pid

In der obigen Datei gibt der Parameter dbpath an, dass beim Starten der MongoDB-Datenbank alle erforderlichen Datenbanken im Verzeichnis /var/lib/mongo erstellt werden. Sie können diesen Pfad entsprechend ändern.

Erstellen Sie das Verzeichnis, auf das der Datenbankpfad verweist.

# mkdir -p /var/lib/mongo

Starten Sie den MongoDB-Daemon

Fügen Sie /opt/mongo/bin/ zur PATH-Variablen hinzu.

# export $PATH=$PATH:/opt/mongo/bin/

Starten Sie die mongodb wie unten gezeigt, indem Sie den Speicherort der Konfigurationsdatei mit der Option -f übergeben.

# mongod -f /etc/mongod.conf
forked process: 20127
all output going to: /var/log/mongo/mongod.log
child process started successfully, parent exiting

Wenn Sie einfach „mongod“ ohne Argument verwenden, wird der Prozess im Vordergrund gestartet. Wenn Sie Ihr Terminal schließen, wird auch Ihr MongoDB-Server gestoppt. Stellen Sie also sicher, dass Sie Mongod mit der Option -f wie oben gezeigt ausführen.

Überprüfen Sie die Protokolldateien, um sicherzustellen, dass es ordnungsgemäß gestartet wurde. Standardmäßig läuft der MongoDB-Server auf Port 27017.

# cat /var/log/mongo/mongod.log
Sat Jan 19 13:48:44 [initandlisten] MongoDB starting : pid=20127 port=27017 dbpath=/var/lib/mongo 64-bit host=centos
Sat Jan 19 13:48:44 [initandlisten] db version v2.2.2, pdfile version 4.5
Sat Jan 19 13:48:44 [initandlisten] git version: nogitversion
Sat Jan 19 13:48:44 [initandlisten] build info: Linux centos 2.6.32-279.19.1.el6.x86_64 #1 SMP Wed Dec 19 07:05:20 UTC 2012 x86_64 BOOST_LIB_VERSION=1_49
Sat Jan 19 13:48:44 [initandlisten] options: { config: "/etc/mongod.conf", dbpath: "/var/lib/mongo", fork: "true", logappend: "true", logpath: "/var/log/mongo/mongod.log", pidfilepath: "/var/run/mongodb/mongod.pid" }
Sat Jan 19 13:48:44 [initandlisten] journal dir=/var/lib/mongo/journal
Sat Jan 19 13:48:44 [initandlisten] recover : no journal files present, no recovery needed
Sat Jan 19 13:48:44 [websvr] admin web console waiting for connections on port 28017
Sat Jan 19 13:48:44 [initandlisten] waiting for connections on port 27017

Verwenden Sie Mongo Shell, um eine Verbindung zu MongoDB herzustellen

Geben Sie „mongo“ ein, um die Mongo-Shell zu starten und sich mit MongoDB zu verbinden, um einige Datenbankoperationen durchzuführen. Dadurch wird die Eingabeaufforderung „>“ angezeigt, an der Sie Mongo-Client-Befehle eingeben können.

# mongo
MongoDB shell version: 2.2.2
connecting to: test
Welcome to the MongoDB shell.
>

Der folgende Befehl fügt ein Beispieldokument namens „sites“ in die MongoDB-Sammlung ein. Dies ähnelt dem SQL-Befehl „INSERT into“.

> doc1 = { name : "ramesh" };
> db.sites.insert( doc1 );

Im Folgenden werden alle Dokumente in der MongoDB-Sammlung „Sites“ angezeigt. Dies ähnelt dem SQL-Befehl „SELECT * from“.

> db.sites.find()
{ "_id" : ObjectId("50f72809a8e3c7a3aba2bf15"), "name" : "ramesh" }

Im nächsten Artikel dieser Serie erklären wir einige MongoDB-Befehle mit Beispielen.


Linux
  1. So installieren Sie phpMyAdmin unter Linux mithilfe des Quellcodes

  2. So installieren und konfigurieren Sie Nginx von der Quelle unter Linux

  3. So kompilieren und installieren Sie Software aus dem Quellcode unter Linux

  4. So installieren Sie Apache CouchDB auf CentOS 6 (von Source und EPEL)

  5. Wie man GLFW 3 erstellt und installiert und in einem Linux-Projekt verwendet

So installieren Sie Software von der Quelle in Linux

So installieren Sie Software aus dem Quellcode … und entfernen sie anschließend

So installieren Sie MongoDB unter Rocky Linux und AlmaLinux

So installieren oder aktualisieren Sie LAMP:Linux, Apache, MySQL und PHP Stack mit Yum

9 Schritte zum Installieren und Konfigurieren von PostgreSQL aus der Quelle unter Linux

So installieren Sie Software aus dem Quellcode in Ihrem Linux-System