Um zu folgen, benötigen Sie drei Rechenknoten. Sie können Rechenknoten bei Bedarf in der E2E Public Cloud starten. Klicken Sie hier um mehr zu erfahren .
Als Teil dieses MongoDB-Clusters mit 3 Knoten wird ein Knoten primär und die anderen beiden sekundäre Knoten sein.
Der Vorteil dieses Setups besteht darin, dass es Ihnen hilft, einen Single Point of Failure zu überwinden. Wenn der primäre Knoten ausfällt, fungieren die sekundären Knoten als primär; somit wird eine hohe Verfügbarkeit gewährleistet.
Führen Sie die folgenden Schritte aus, um einen MongoDB-Cluster mit 3 Knoten einzurichten:
Aktualisieren und aktualisieren Sie alle 3 Knoten (Ubuntu 16.04):
$ sudo apt-get update $ sudo apt-get upgrade
MongoDB-Installation:
$sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 $echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list $sudo apt-get update $sudo apt-get install -y mongodb-org=4.0.10 mongodb-org-server=4.0.10 mongodb-org-shell=4.0.10 mongodb-org-mongos=4.0.10 mongodb-org-tools=4.0.10
Hostnamen und Hosteintrag auf allen 3 Knoten einrichten:
$ sudo vim /etc/hosts ````````` 172.16.1.x test-mongo-1 172.16.2.x test-mongo-2 172.16.3.x test-mongo-3 ```````` $hostname test-mongo1 $ sudo vim /etc/hostname `````` test-mongo-1 ```````
Legen Sie den entsprechenden Hostnamen auf allen 3 Knoten fest
Wenn der Server von E2E Cloud stammt, entfernen Sie 05-hostname 02-ssh_public_key aus dem Verzeichnis /etc/one-context.d/
Generieren Sie eine Schlüsseldatei und kopieren Sie diese auf die anderen 2 Knoten:
$ sudo cd /etc/ $ sudo mkdir mongo $ cd $ sudo openssl rand -base64 756 > /etc/mongo/mongo-keyfile $ sudo cd /etc/mongo/ $ sudo chmod 400 mongo-keyfile $ sudo chown mongodb:mongodb /etc/mongo -R $ cd $ sudo rsync -avrP /etc/mongo [email protected]:/etc/ $ sudo rsync -avrP /etc/mongo [email protected]:/etc/
Replikationsabschnitt auf mongodb.conf auf allen 3 Knoten hinzufügen:
replication: replSetName: mongo-cluster enableMajorityReadConcern: true
Starten und prüfen Sie den Status von mongodb auf allen 3 Knoten:
$ sudo service mongod start $ sudo service mongod status
Stellen Sie sicher, dass mongodb auf allen 3 Knoten gestartet wird.
Ändern Sie die MongoDB-Bindungsadresse auf allen 3 Knoten in die private IP des Servers:
$ sudo vim /etc/mongod.conf # network interfaces net: port: 27017 bindIp: 172.16.1.x $ sudo service mongod restart
Melden Sie sich auf einem der Knoten bei Mongodb an:
$ mongo -host 172.16.1.x $ config = { _id : "mongo-cluster", members : [ {_id : 0, host : "test-mongo-1:27017"}, {_id : 1, host : "test-mongo-2:27017"}, {_id : 2, host : "test-mongo-3:27017"}, ] } $ rs.initiate(config)
Hinweis:Nach einiger Zeit wird dieser Computer (von dem aus der Befehl ausgeführt wird, zum primären – Sie können sich von MongoDB abmelden und anmelden, um dasselbe zu überprüfen)
Erstellen Sie jetzt die Admin- und Hauptdatenbank-DB und den Benutzer für den Zugriff auf die DB:
$ use admin $ db.createUser({ user: "admin", pwd: "E580nOOUE6cDhQ", roles: [{ role: "root", db: "admin" }] }) $ stagedatabase $ db.createUser({ user: "stage", pwd: "4n1PdUKkyoU9wcTNW", roles: [{ role: "dbOwner", db: "maindatabase" }] })
Sicherheitsabschnitt auf mongod.conf auf allen 3 Knoten hinzufügen:
security: keyFile: /etc/mongo/mongo-keyfile clusterAuthMode: keyFile authorization: enabled
Starten Sie neu und überprüfen Sie den Status von mongodb auf allen 3 Knoten:
$ sudo service mongod restart $ sudo service mongod status
Melden Sie sich mit den Anmeldeinformationen bei Mongodb an:
$ mongo -host 172.16.1.x admin -u admin -p'E580nOOUE6cDhQ'
Melden Sie sich mit der anderen Benutzer-Stadiumsdatenbank bei Mongodb an:
mongo 172.16.1.x:27017/maindatabase -u stage -p 4n1PdUKkyoU9wcTNW
Jetzt ist die Einrichtung abgeschlossen.