GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come configurare un cluster MongoDB utilizzando 3 nodi con Ubuntu 16?

Per seguire, avrai bisogno di tre nodi di calcolo. Puoi avviare nodi di calcolo su richiesta su E2E Public Cloud. Fai clic qui per saperne di più .

Come parte di questo cluster MongoDB a 3 nodi, un nodo sarà primario e gli altri due saranno nodi secondari.

Il vantaggio di questa configurazione è che ti aiuta a superare un singolo punto di errore. Quando il nodo primario si interrompe, i nodi secondari agiscono come primari; garantendo così un'elevata disponibilità.

Segui i passaggi seguenti per configurare un cluster MongoDB a 3 nodi:

Aggiorna e aggiorna tutti e 3 i nodi (ubuntu 16.04):

$ sudo apt-get update
$ sudo apt-get upgrade

Installazione di MongoDB:

$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

Imposta nome host e hostentry su tutti e 3 i nodi:

$ 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

```````

Imposta il nome host corrispondente su tutti e 3 i nodi

Se il server proviene da E2E Cloud, rimuovere 05-hostname 02-ssh_public_key dalla directory /etc/one-context.d/

Genera un file chiave e copialo negli altri 2 nodi:

$ 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/

Aggiungi la sezione Replica su mongodb.conf su tutti e 3 i nodi:

replication:
 replSetName: mongo-cluster
 enableMajorityReadConcern: true

Avvia e controlla lo stato di mongodb su tutti e 3 i nodi:

$ sudo service mongod start
$ sudo service mongod status

Assicurati che mongodb si avvii su tutti e 3 i nodi.

Modifica l'indirizzo di collegamento di MongoDB all'ip privato del server su tutti e 3 i nodi:

$ sudo vim /etc/mongod.conf
# network interfaces
net:
  port: 27017
  bindIp: 172.16.1.x

$ sudo service mongod restart

Accedi a Mongodb su uno qualsiasi dei nodi:

$ 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)

Nota:dopo un po' di tempo, questa macchina (da cui il comando eseguito diventerà il principale:puoi disconnetterti da MongoDB e accedere per verificare lo stesso)

Ora crea il database admin e maindatabase e l'utente per accedere al 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" }] })

Aggiungi la sezione di sicurezza su mongod.conf su tutti e 3 i nodi:

security:
  keyFile: /etc/mongo/mongo-keyfile
  clusterAuthMode: keyFile
  authorization: enabled

Riavvia e controlla lo stato di mongodb su tutti e 3 i nodi:

$ sudo service mongod restart
$ sudo service mongod status

Accedi a Mongodb con le credenziali:

$ mongo -host 172.16.1.x admin -u admin -p'E580nOOUE6cDhQ'

Accedi a Mongodb con l'altro utente stagedatabase:

mongo 172.16.1.x:27017/maindatabase -u stage -p 4n1PdUKkyoU9wcTNW

Ora la configurazione è completa.


Ubuntu
  1. Come configurare un cluster Kubernetes con Rancher

  2. Come configurare un firewall con UFW su Ubuntu 18.04

  3. Come installare MongoDB su Ubuntu 18.04

  4. Come configurare MySQL Cluster su Ubuntu

  5. Come installare MongoDB su Ubuntu 16.04

Come installare ElastAlert con Elasticsearch su Ubuntu

Come installare NextCloud su Ubuntu 20.04 con Apache

Come installare MongoDB su Ubuntu 15.04

Come installare MongoDB su Ubuntu 16.04

Come installare MongoDB su Ubuntu 18.04 LTS

Come installare MongoDB su Ubuntu 22.04