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

Wie richte ich einen MongoDB-Cluster mit 3 Knoten mit Ubuntu 16 ein?

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.


Ubuntu
  1. So richten Sie einen Kubernetes-Cluster mit Rancher ein

  2. So richten Sie eine Firewall mit UFW unter Ubuntu 18.04 ein

  3. So installieren Sie MongoDB unter Ubuntu 18.04

  4. So richten Sie MySQL Cluster unter Ubuntu ein

  5. So installieren Sie MongoDB unter Ubuntu 16.04

So installieren Sie ElastAlert mit Elasticsearch auf Ubuntu

So installieren Sie NextCloud auf Ubuntu 20.04 mit Apache

So installieren Sie MongoDB unter Ubuntu 15.04

So installieren Sie MongoDB unter Ubuntu 16.04

So installieren Sie MongoDB auf Ubuntu 18.04 LTS

So installieren Sie MongoDB unter Ubuntu 22.04