GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment configurer un cluster MongoDB à l'aide de 3 nœuds avec Ubuntu 16 ?

Pour suivre, vous aurez besoin de trois nœuds de calcul. Vous pouvez lancer des nœuds de calcul à la demande sur E2E Public Cloud. Cliquez ici pour en savoir plus .

Dans le cadre de ce cluster MongoDB à 3 nœuds, un nœud sera principal et les deux autres seront des nœuds secondaires.

L'avantage de cette configuration est qu'elle vous aide à surmonter un point de défaillance unique. Lorsque le nœud principal tombe en panne, les nœuds secondaires agissent en tant que nœuds principaux ; garantissant ainsi une haute disponibilité.

Suivez les étapes ci-dessous pour configurer un cluster MongoDB à 3 nœuds :

Mettre à jour et mettre à niveau les 3 nœuds (ubuntu 16.04) :

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

Installation de 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

Configurez le nom d'hôte et l'entrée d'hôte sur les 3 nœuds :

$ 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

```````

Définissez le nom d'hôte correspondant sur les 3 nœuds

Si le serveur provient d'E2E Cloud, supprimez 05-hostname 02-ssh_public_key du répertoire /etc/one-context.d/

Générez un fichier clé et copiez-le sur les 2 autres nœuds :

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

Ajouter une section de réplication sur mongodb.conf sur les 3 nœuds :

replication:
 replSetName: mongo-cluster
 enableMajorityReadConcern: true

Démarrez et vérifiez l'état de mongodb sur les 3 nœuds :

$ sudo service mongod start
$ sudo service mongod status

Assurez-vous que mongodb démarre sur les 3 nœuds.

Remplacez l'adresse de liaison MongoDB par l'adresse IP privée du serveur sur les 3 nœuds :

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

$ sudo service mongod restart

Connectez-vous à Mongodb sur l'un des nœuds :

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

Remarque :Après un certain temps, cette machine (d'où la commande exécutée deviendra la principale - vous pouvez vous déconnecter de MongoDB et vous connecter pour vérifier la même chose)

Créez maintenant la base de données admin &maindatabase et l'utilisateur pour accéder à la base de données :

$ 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" }] })

Ajouter une section de sécurité sur mongod.conf sur les 3 nœuds :

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

Redémarrez et vérifiez l'état de mongodb sur les 3 nœuds :

$ sudo service mongod restart
$ sudo service mongod status

Connectez-vous à Mongodb avec les identifiants :

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

Connectez-vous à Mongodb avec l'autre utilisateur stagedatabase :

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

La configuration est maintenant terminée.


Ubuntu
  1. Comment configurer un cluster Kubernetes avec Rancher

  2. Comment configurer un pare-feu avec UFW sur Ubuntu 18.04

  3. Comment installer MongoDB sur Ubuntu 18.04

  4. Comment configurer MySQL Cluster sur Ubuntu

  5. Comment installer MongoDB sur Ubuntu 16.04

Comment installer ElastAlert avec Elasticsearch sur Ubuntu

Comment installer NextCloud sur Ubuntu 20.04 avec Apache

Comment installer MongoDB sur Ubuntu 15.04

Comment installer MongoDB sur Ubuntu 16.04

Comment installer MongoDB sur Ubuntu 18.04 LTS

Comment installer MongoDB sur Ubuntu 22.04