GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Cómo configurar un clúster MongoDB usando 3 nodos con Ubuntu 16?

Para continuar, necesitará tres nodos de cómputo. Puede lanzar nodos de cómputo bajo demanda en E2E Public Cloud. Haga clic aquí para saber más .

Como parte de este clúster MongoDB de 3 nodos, un nodo será principal y los otros dos serán nodos secundarios.

El beneficio de esta configuración es que lo ayuda a superar un único punto de falla. Cuando el nodo primario deja de funcionar, los nodos secundarios actúan como primarios; por lo tanto, asegurando una alta disponibilidad.

Siga los pasos a continuación para configurar un clúster MongoDB de 3 nodos:

Actualice y actualice los 3 nodos (ubuntu 16.04):

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

Instalación 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

Configure el nombre de host y la entrada de host en los 3 nodos:

$ 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

```````

Establezca el nombre de host correspondiente en los 3 nodos

Si el servidor es de E2E Cloud, elimine 05-hostname 02-ssh_public_key del directorio /etc/one-context.d/

Genera un archivo de clave y cópialo en los otros 2 nodos:

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

Agregue la sección de replicación en mongodb.conf en los 3 nodos:

replication:
 replSetName: mongo-cluster
 enableMajorityReadConcern: true

Inicie y verifique el estado de mongodb en los 3 nodos:

$ sudo service mongod start
$ sudo service mongod status

Asegúrese de que mongodb se inicie en los 3 nodos.

Cambiar la dirección de enlace de MongoDB a la IP privada del servidor en los 3 nodos:

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

$ sudo service mongod restart

Inicie sesión en Mongodb en cualquiera de los nodos:

$ 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:después de un tiempo, esta máquina (desde donde se ejecuta el comando se convertirá en la principal; puede cerrar sesión en MongoDB e iniciar sesión para verificar lo mismo)

Ahora cree la base de datos de administración y base de datos principal y el usuario para acceder a la base de datos:

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

Agregar sección de seguridad en mongod.conf en los 3 nodos:

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

Reiniciar y verificar el estado de mongodb en los 3 nodos:

$ sudo service mongod restart
$ sudo service mongod status

Inicie sesión en Mongodb con las credenciales:

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

Inicie sesión en Mongodb con la base de datos del otro usuario:

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

Ahora la configuración está completa.


Ubuntu
  1. Cómo configurar un clúster de Kubernetes con Rancher

  2. Cómo configurar un cortafuegos con UFW en Ubuntu 18.04

  3. Cómo instalar MongoDB en Ubuntu 18.04

  4. Cómo configurar MySQL Cluster en Ubuntu

  5. Cómo instalar MongoDB en Ubuntu 16.04

Cómo instalar ElastAlert con Elasticsearch en Ubuntu

Cómo instalar NextCloud en Ubuntu 20.04 con Apache

Cómo instalar MongoDB en Ubuntu 15.04

Cómo instalar MongoDB en Ubuntu 16.04

Cómo instalar MongoDB en Ubuntu 18.04 LTS

Cómo instalar MongoDB en Ubuntu 22.04