Sprache auswählen

MongoDB ist ein dokumentenorientiertes NoSQL-Datenbankmanagementsystem. In dieser Anleitung beschreiben wir, wie Sie eine MongoDB auf Ihrem Managed Flex Server in Betrieb nehmen können.

Anforderungen

MongoDB kann mit einem Managed Flex Server M, L, XL oder XXL genutzt werden.

MongoDB in Betrieb nehmen

Hostpoint stellt Ihnen für Ihren Managed Flex Server die zum Betriebssystem passende Tool-Sammlung für MongoDB zur Verfügung. Die Standardversion ist jeweils unter /usr/local/bin/ verlinkt. Spezifische Versionen finden Sie unter /usr/local/mongodbXX. Die Bezeichnung XX steht für die Version. Wir empfehlen, wenn immer möglich, die Standardversion zu verwenden.

Über Änderungen an den zur Verfügung stehenden Versionen informieren wir jeweils per E-Mail. Wir empfehlen Ihnen, diese Info-Mails stets aufmerksam zu lesen. Damit können Sie sich über Ihrerseits notwendige Wartungsarbeiten informieren, und diese entsprechend einplanen und durchführen.

Lesen Sie dazu auch den Abschnitt «3. Wartung» in dieser Anleitung.

Datenverzeichnis erstellen

Damit der MongoDB-Server Ihre Datenbank abspeichern kann, benötigen Sie in Ihrem Home einen entsprechenden Ordner.

Um die nachfolgenden Schritte ausführen zu können, müssen Sie via SSH auf Ihrem Managed Flex Server eingeloggt sein.

Als Beispiel in dieser Anleitung verwenden wir den versteckten Ordner ~/.mongod/data/db/ in Ihrem Home. Erstellen Sie diesen Ordner wie folgt:

[username@flex:~] 1 $ mkdir -p ~/.mongod/data/db

Manuelles Starten von MongoDB

Starten Sie für das Set-up den MongoDB-Server manuell in einer Shell mit folgendem Kommando:

[username@flex:~] 1 $ /usr/local/bin/mongod --dbpath ~/.mongod/data/db

Der MongoDB-Server initialisiert das zuvor angelegte Datenverzeichnis und wartet anschliessend auf Verbindungen. In Ihrem Terminal sehen Sie diverse Textausgaben zum aktuellen Status sowie zu möglichen Problemen beim Start und Betrieb. Brechen Sie das Kommando nicht ab und fahren Sie mit dem Einrichten des Datenbank-Users im nächsten Schritt weiter.

(Wie Sie den Service später regulär für den Betrieb auf Ihrem Webserver starten, erfahren Sie im Abschnitt «2.4 Integration von MongoDB in die Custom Service Control (CSC)» weiter unten in dieser Anleitung.)

Installation von mongosh

Diese Schritte sind notwendig, um die CLI Applikation mongosh zu installieren, damit Sie per CLI mit MongoDB kommunizieren können.

Als erstes müssen Sie diese 2 Dateien erstellen oder bearbeiten und die entsprechenden Inhalte einfügen: 

NPM_PACKAGES="${HOME}/.npm-packages"
NODE_PATH="$NPM_PACKAGES/lib/node_modules:$NODE_PATH"
export PATH="$NPM_PACKAGES/bin:$PATH"
prefix=${HOME}/.npm-packages

Diese Einträge ermöglichen es Ihnen mit NPM globale Pakete zu installieren.

Damit die Änderungen in der .profile Datei aktiv werden, müssten Sie sich jetzt aus und wieder einloggen, oder den source Befehl ausführen:

source ~/.profile

Zum Schluss müssten Sie nur noch mit NPM das mongosh Paket installieren:

npm install -g @mongosh/cli-repl

Erstellen eines Datenbank-Users

Im nächsten Schritt erstellen Sie einen User mit einem dazugehörigen Passwort für den geschützten Zugriff auf Ihren MongoDB-Server.

Starten Sie dazu eine zusätzliche Shell-Session und führen Sie auf Ihrem Flex-Server den Befehl mongosh aus um sich mit dem zuvor gestarteten MongoDB-Prozess zu verbinden:

[username@flex:~] 1 $ mongosh
MongoDB shell version v5.0.12

connecting to: mongodb://127.0.0.1:27017/[..]

>

Teilen Sie dem MongoDB-Server mit, dass Sie nun die Datenbank admin verwenden möchten:

use admin

Nun können Sie den User erstellen. Das nachfolgende Beispiel zeigt, wie ein Admin-User mit Zugriff auf alle Datenbanken erstellt werden kann. Weitere Informationen zu den verschiedenen Rollen finden Sie in der MongoDB-Dokumentation zur Role-Based Access Control.

db.createUser(
{ user: "User",
	 pwd: "password",
			
	 roles:[{role: "userAdminAnyDatabase" , db:"admin"}]})

Wenn Sie den Datenbank-User eingerichtet haben, haben Sie die Voraussetzungen für den Regulären Betrieb Ihres MongoDB Servers geschaffen. Sie können den MongoDB-Server in Ihrem ersten Terminal mit Ctrl+C beenden und mit dem nächsten Schritt weiterfahren.

Integration von MongoDB in die Custom Service Control (CSC)

Die Custom Service Control (CSC) kümmert sich um den Betrieb und das automatische Management Ihrer Applikation (bspw. Start und Stop bei Wartungsarbeiten). 

Die Konfiguration von MongoDB in der CSC ist sehr einfach. Erstellen Sie dazu wie folgt einen neuen Custom Service für MongoDB:

[username@flex:~] 1 $ hpservices supervisord add mongodb

Dabei wird in der Datei ~/.services/supervisord/mongodb/service.conf ein Konfigurationsgerüst für den neuen Service erstellt. Öffnen Sie diese Datei in einem Texteditor. Für MongoDB müssen Sie im Wesentlichen das command anpassen, ansonsten können Sie die vorgeschlagenen Werte übernehmen und die Zeilen entsprechend auskommentieren (Strichpunkte am Zeilenanfang bei allen Zeilen ausser bei der directory-Zeile entfernen):

~/.services/supervisord/mongodb/service.conf
[program:mongodb]
command=/usr/local/bin/mongod --auth --dbpath %(ENV_HOME)s/.mongod/data/db
;directory=%(ENV_HOME)s/app/mongodb/       ; directory to cwd to before exec (default no cwd)
autostart=true                ; start application at supervisord start (default: true)
stopwaitsecs=10               ; max num secs to wait before SIGKILL (default 10)
stdout_logfile=%(ENV_HOME)s/.services/supervisord/mongodb/log/default.log
stdout_logfile_maxbytes=1MB   ; filesize at which to rotate logfiles (default ist 50MB)
stdout_logfile_backups=10     ; number of stdout logfile backups (0 means none, default 10)
stderr_logfile=%(ENV_HOME)s/.services/supervisord/mongodb/log/default.err
stderr_logfile_maxbytes=1MB   ; filesize at which to rotate logfiles (default is 50MB)
stderr_logfile_backups=10     ; number of stderr logfile backups (0 means none, default 10)

Falls Sie die CSC zum ersten Mal benützen, müssen Sie diese nun aktivieren. In diesem Fall empfehlen wir Ihnen ebenfalls die ausführliche Dokumentation zur Custom Service Control zu lesen

[username@flex:~] 1 $ hpservices supervisord start

Falls Sie die CSC bereits für andere Dienste nutzen, können Sie mit supervisorctl update die neue Konfiguration für MongoDB hinzufügen und aktivieren. Mit der oben genannten Service-Definition wird MongoDB automatisch gestartet:

[username@flex:~] 1 $ supervisorctl update
mongodb: added process group
[username@flex:~] 1 $ supervisorctl status
mongodb RUNNING pid 92108, uptime 1:13:39

Die Ausgaben des MongoDB-Servers finden Sie nun im stdout_logfile, welches Sie zuvor für den Service definiert haben.

MongoDB Instanz testen 

Ihr MongoDB-Server ist damit nun bereit für die Annahme von Verbindungen. Sie können dies mit dem MongoDB-CLI testen:

[username@flex:~] 1 $ mongosh

Wenn alles richtig konfiguriert wurde, erhalten Sie folgende Ausgabe:

MongoDB shell version vX.X.X
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("[..]") }
MongoDB server version: X.X.X
>

Wartung

Bei Updates der MongoDB-Version können Wartungsarbeiten Ihrerseits notwendig werden. Wir informieren Sie jeweils per E-Mail über anstehende Softwareupdates auf Ihrem Managed Flex Server. Lesen Sie diese aufmerksam durch und prüfen Sie bei Upgrades der MongoDB-Version in den Release-Notes des MongoDB-Projektes, ob Sie allenfalls Wartungsarbeiten an Ihrer Datenbank ausführen müssen.

Backup

MongoDB speichert die Daten in einem binären Format in dem von Ihnen festgelegten Ordner.

Der ausgewählte Ordner befindet sich in Ihrem Home, womit die Daten grundsätzlich vom regulären Datei-Backup erfasst werden. Da es sich bei diesen Daten um strukturierte DB-Daten mit einem applikationsspezifischen Änderungsmuster und Backupanforderungen handelt, sollten Sie sich jedoch Gedanken zu einer geeigneten Backupstrategie machen. Lesen Sie dazu die Dokumentation von MongoDB.

Weiterführende Informationen

Nutzen Sie dieses Formular für Feedback zur obigen Anleitung.
Für Supportanfragen verwenden Sie bitte dieses Formular.

 

 

© 2001 - Hostpoint AG
Cookie

Wir verwenden Cookies  🍪

We use Cookies  🍪

Nous utilisons des cookies  🍪

Utilizziamo dei cookie  🍪

Die digitalen Auftritte von Hostpoint (Website, Control Panel, Support Center etc.) verwenden Cookies. Diese werden dazu verwendet, um Daten über Besucherinteraktionen zu sammeln. Wenn Sie auf «Akzeptieren» klicken, stimmen Sie der Verwendung dieser Cookies für Werbezwecke, Website-Analyse und Support zu. Gewisse essenzielle Cookies sind jedoch für eine ordnungsgemässe Funktion dieser Seiten unerlässlich und können deshalb nicht deaktiviert werden. Auch ohne Ihre Zustimmung können gewisse Daten in anonymisierter Form für statistische Zwecke und zur Verbesserung unserer Websites verwendet werden. Bitte beachten Sie unsere Datenschutzerklärung.

Hostpoint's digital presences (website, Control Panel, Support Center, etc.) use cookies. These are used to collect data on visitor interactions. If you click “Accept”, you agree to the use of these cookies for advertising purposes, website analysis and support. However, certain cookies are essential for the proper functioning of these pages and therefore cannot be disabled. Even without your consent, certain data may be used in anonymized form for statistical purposes and to improve our websites. Please note our Privacy policy.

Le sites Web de Hostpoint (site Web, Control Panel, Centre d'assistance, etc.) utilisent des cookies. Ces cookies servent à collecter des données sur les interactions des visiteurs. En cliquant sur «Accepter», vous consentez à l’utilisation de ces cookies à des fins de publicité, d’analyse du site Web et d’assistance. Certains cookies essentiels sont cependant indispensables au bon fonctionnement de notre sites Web et ne peuvent donc pas être désactivés. Même sans votre consentement, certaines données peuvent être utilisées sous forme anonymisée à des fins statistiques et pour améliorer notre sites Web. Veuillez prendre connaissance de notre Déclaration de protection des données.

Le presenze digitali di Hostpoint (sito web, Pannello di controllo, Support Center, ecc.) utilizzano i cookie. Questi vengono utilizzati per raccogliere dati sulle interazioni dei visitatori. Facendo clic su «Accetta», acconsente all’utilizzo di questi cookie per scopi pubblicitari, di analisi del sito web e di supporto. Alcuni cookie essenziali sono tuttavia indispensabili per il corretto funzionamento di questi siti web e pertanto non possono essere disattivati. Anche senza il Suo consenso, determinati dati potrebbero essere utilizzati in forma anonima per fini statistici e per l’ottimizzazione dei nostri siti web. Si prega di tenere conto della nostra Dichiarazione per la pivacy.

Ablehnen
Decline
Refuser
Rifiuta
Akzeptieren
Accept
Accepter
Accetta