sql >> Base de Datos >  >> NoSQL >> MongoDB

Consejos para actualizar Percona Server para MongoDB

Percona Server para MongoDB es una distribución de código abierto de MongoDB con tecnología de Percona. Es un reemplazo gratuito, totalmente compatible y directo para la edición MongoDB Community. También proporciona funciones de "grado empresarial" que, de otro modo, solo estarían disponibles en la edición Enterprise de MongoDB, por ejemplo:autenticación y autorización LDAP, registro de auditoría, autenticación Kerberos.

Actualizar Percona Server para MongoDB es realmente sencillo. En este blog, discutiremos algunos consejos de actualización y mostraremos un ejemplo de cómo actualizar de la versión 3.6 a la versión 4.0.

Preparación de actualización

Antes de ejecutar la actualización, es posible que desee realizar algunos preparativos. Siempre verifique los cambios de compatibilidad en la documentación y en el lado de su aplicación; verifique la documentación relacionada con los cambios y características de mejora, funcionalidad obsoleta (si la hay).

Consulte la matriz de compatibilidad del controlador para que MongoDB comprenda si también necesita actualizar el controlador.

Prepare una lista de verificación paso a paso sobre cómo se ejecutará la actualización. Escriba el plan de acción, las partes deben participar en la documentación, el plan de reversión para los peores escenarios.

Actualización del servidor Percona para MongoDB

Siempre es bueno probar su actualización en el entorno de desarrollo o ensayo antes de pasar al entorno de producción. Puede construir exactamente la misma arquitectura MongoDB que la producción, probar y restaurar los datos desde la última copia de seguridad. Después de eso, puede probar la actualización y validar su plan de actualización, no solo puede obtener una estimación de cuánto tiempo llevará la actualización y también verificar si la aplicación es compatible con la nueva versión de la base de datos.

El proceso de actualización simplemente instala el nuevo paquete desde el repositorio de percona, así es como se actualiza en CentOS basado en la versión 3.6 a la versión 4.0.

Paso uno

Si no ha instalado Percona Repository, puede instalar percona-release-latest.

[[email protected] ~]# yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm

Loaded plugins: fastestmirror

percona-release-latest.noarch.rpm                                                                                   |  19 kB  00:00:00

Examining /var/tmp/yum-root-evWD4w/percona-release-latest.noarch.rpm: percona-release-1.0-25.noarch

Marking /var/tmp/yum-root-evWD4w/percona-release-latest.noarch.rpm to be installed

Resolving Dependencies

--> Running transaction check

---> Package percona-release.noarch 0:1.0-25 will be installed

--> Finished Dependency Resolution



Dependencies Resolved



===========================================================================================================================================

 Package                          Arch                    Version                    Repository                                       Size

===========================================================================================================================================

Installing:

 percona-release                  noarch                  1.0-25                     /percona-release-latest.noarch                   31 k



Transaction Summary

===========================================================================================================================================

Install  1 Package



Total size: 31 k

Installed size: 31 k

Is this ok [y/d/N]: y

Paso dos

Después de instalar el repositorio de Percona, habilite Percona Server para MongoDB 4.0

[[email protected] ~]# percona-release enable psmdb-40

* Enabling the Percona Server for MongoDB 4.0 repository

<*> All done!

Paso tres

Instalar el nuevo paquete percona-server-mongodb, eliminará automáticamente el paquete anterior e instalará el nuevo paquete:

[[email protected] ~]# yum install percona-server-mongodb

Loaded plugins: fastestmirror

Repository percona-release-noarch is listed more than once in the configuration

base                                                                                                                | 3.6 kB  00:00:00

extras                                                                                                              | 2.9 kB  00:00:00

percona-release                                                                                                     | 2.9 kB  00:00:00

percona-release-noarch                                                                                              | 2.9 kB  00:00:00

percona-release-x86_64                                                                                              | 2.9 kB  00:00:00

prel-release-noarch                                                                                                 | 2.9 kB  00:00:00

psmdb-40-release-x86_64                                                                                             | 2.9 kB  00:00:00

updates                                                                                                             | 2.9 kB  00:00:00

(1/3): prel-release-noarch/7/primary_db                                                                             | 2.5 kB  00:00:00

(2/3): psmdb-40-release-x86_64/7/primary_db                                                                         |  47 kB  00:00:01

(3/3): percona-release-x86_64/7/primary_db                                                                          | 1.1 MB  00:00:03

Loading mirror speeds from cached hostfile

 * base: mirror.buana.web.id

 * extras: mirror.buana.web.id

 * updates: mirror.buana.web.id

Resolving Dependencies

--> Running transaction check

---> Package Percona-Server-MongoDB-36.x86_64 0:3.6.19-8.0.el7 will be obsoleted

---> Package percona-server-mongodb.x86_64 0:4.0.20-14.el7 will be obsoleting

--> Processing Dependency: percona-server-mongodb-tools = 4.0.20-14.el7 for package: percona-server-mongodb-4.0.20-14.el7.x86_64

--> Processing Dependency: percona-server-mongodb-mongos = 4.0.20-14.el7 for package: percona-server-mongodb-4.0.20-14.el7.x86_64

--> Processing Dependency: percona-server-mongodb-shell = 4.0.20-14.el7 for package: percona-server-mongodb-4.0.20-14.el7.x86_64

--> Processing Dependency: percona-server-mongodb-server = 4.0.20-14.el7 for package: percona-server-mongodb-4.0.20-14.el7.x86_64

--> Running transaction check

---> Package Percona-Server-MongoDB-36-mongos.x86_64 0:3.6.19-8.0.el7 will be obsoleted

---> Package Percona-Server-MongoDB-36-server.x86_64 0:3.6.19-8.0.el7 will be obsoleted

---> Package Percona-Server-MongoDB-36-shell.x86_64 0:3.6.19-8.0.el7 will be obsoleted

---> Package Percona-Server-MongoDB-36-tools.x86_64 0:3.6.19-8.0.el7 will be obsoleted

---> Package percona-server-mongodb-mongos.x86_64 0:4.0.20-14.el7 will be obsoleting

---> Package percona-server-mongodb-server.x86_64 0:4.0.20-14.el7 will be obsoleting

---> Package percona-server-mongodb-shell.x86_64 0:4.0.20-14.el7 will be obsoleting

---> Package percona-server-mongodb-tools.x86_64 0:4.0.20-14.el7 will be obsoleting

--> Finished Dependency Resolution



Dependencies Resolved



===========================================================================================================================================

 Package                                     Arch                 Version                      Repository                             Size

===========================================================================================================================================

Installing:

 percona-server-mongodb                      x86_64               4.0.20-14.el7                psmdb-40-release-x86_64               4.9 k

     replacing  Percona-Server-MongoDB-36.x86_64 3.6.19-8.0.el7

 percona-server-mongodb-mongos               x86_64               4.0.20-14.el7                psmdb-40-release-x86_64               8.9 M

     replacing  Percona-Server-MongoDB-36-mongos.x86_64 3.6.19-8.0.el7

 percona-server-mongodb-server               x86_64               4.0.20-14.el7                psmdb-40-release-x86_64                19 M

     replacing  Percona-Server-MongoDB-36-server.x86_64 3.6.19-8.0.el7

 percona-server-mongodb-shell                x86_64               4.0.20-14.el7                psmdb-40-release-x86_64               9.8 M

     replacing  Percona-Server-MongoDB-36-shell.x86_64 3.6.19-8.0.el7

 percona-server-mongodb-tools                x86_64               4.0.20-14.el7                psmdb-40-release-x86_64                28 M

     replacing  Percona-Server-MongoDB-36-tools.x86_64 3.6.19-8.0.el7



Transaction Summary

===========================================================================================================================================

Install  5 Packages



Total download size: 66 M

Is this ok [y/d/N]: y

Downloading packages:

(1/5): percona-server-mongodb-4.0.20-14.el7.x86_64.rpm                                                              | 4.9 kB  00:00:05

(2/5): percona-server-mongodb-mongos-4.0.20-14.el7.x86_64.rpm                                                       | 8.9 MB  00:00:39

(3/5): percona-server-mongodb-shell-4.0.20-14.el7.x86_64.rpm                                                        | 9.8 MB  00:00:42

(4/5): percona-server-mongodb-server-4.0.20-14.el7.x86_64.rpm                                                       |  19 MB  00:01:23

(5/5): percona-server-mongodb-tools-4.0.20-14.el7.x86_64.rpm                                                        |  28 MB  00:02:00

-------------------------------------------------------------------------------------------------------------------------------------------

Total                                                                                                      332 kB/s |  66 MB  00:03:22

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

  Installing : percona-server-mongodb-shell-4.0.20-14.el7.x86_64                                                                      1/10

  Installing : percona-server-mongodb-server-4.0.20-14.el7.x86_64                                                                     2/10

warning: /etc/mongod.conf created as /etc/mongod.conf.rpmnew

 * To start the service, configure your engine and start mongod

 ** WARNING: Access control is not enabled for the database.

 ** Read and write access to data and configuration is unrestricted.

 ** To fix this please use /usr/bin/percona-server-mongodb-enable-auth.sh

  Installing : percona-server-mongodb-mongos-4.0.20-14.el7.x86_64                                                                     3/10

  Installing : percona-server-mongodb-tools-4.0.20-14.el7.x86_64                                                                      4/10

  Installing : percona-server-mongodb-4.0.20-14.el7.x86_64                                                                            5/10

  Erasing    : Percona-Server-MongoDB-36-3.6.19-8.0.el7.x86_64                                                                        6/10

  Erasing    : Percona-Server-MongoDB-36-server-3.6.19-8.0.el7.x86_64                                                                 7/10

  Erasing    : Percona-Server-MongoDB-36-shell-3.6.19-8.0.el7.x86_64                                                                  8/10

  Erasing    : Percona-Server-MongoDB-36-mongos-3.6.19-8.0.el7.x86_64                                                                 9/10

  Erasing    : Percona-Server-MongoDB-36-tools-3.6.19-8.0.el7.x86_64                                                                 10/10

  Verifying  : percona-server-mongodb-server-4.0.20-14.el7.x86_64                                                                     1/10

  Verifying  : percona-server-mongodb-tools-4.0.20-14.el7.x86_64                                                                      2/10

  Verifying  : percona-server-mongodb-mongos-4.0.20-14.el7.x86_64                                                                     3/10

  Verifying  : percona-server-mongodb-shell-4.0.20-14.el7.x86_64                                                                      4/10

  Verifying  : percona-server-mongodb-4.0.20-14.el7.x86_64                                                                            5/10

  Verifying  : Percona-Server-MongoDB-36-server-3.6.19-8.0.el7.x86_64                                                                 6/10

  Verifying  : Percona-Server-MongoDB-36-tools-3.6.19-8.0.el7.x86_64                                                                  7/10

  Verifying  : Percona-Server-MongoDB-36-mongos-3.6.19-8.0.el7.x86_64                                                                 8/10

  Verifying  : Percona-Server-MongoDB-36-shell-3.6.19-8.0.el7.x86_64                                                                  9/10

  Verifying  : Percona-Server-MongoDB-36-3.6.19-8.0.el7.x86_64                                                                       10/10



Installed:

  percona-server-mongodb.x86_64 0:4.0.20-14.el7                        percona-server-mongodb-mongos.x86_64 0:4.0.20-14.el7

  percona-server-mongodb-server.x86_64 0:4.0.20-14.el7                 percona-server-mongodb-shell.x86_64 0:4.0.20-14.el7

  percona-server-mongodb-tools.x86_64 0:4.0.20-14.el7



Replaced:

  Percona-Server-MongoDB-36.x86_64 0:3.6.19-8.0.el7                    Percona-Server-MongoDB-36-mongos.x86_64 0:3.6.19-8.0.el7

  Percona-Server-MongoDB-36-server.x86_64 0:3.6.19-8.0.el7             Percona-Server-MongoDB-36-shell.x86_64 0:3.6.19-8.0.el7

  Percona-Server-MongoDB-36-tools.x86_64 0:3.6.19-8.0.el7



Complete!

Cuarto Paso

Finalmente, inicie los servicios de mongod.

$ systemctl start mongod.service

El proceso de instalación en Ubuntu/Debian es similar, solo necesita el comando del administrador de paquetes APT.

En una arquitectura MongoDB de alta disponibilidad, puede realizar una actualización gradual para minimizar el tiempo de inactividad.

Si su aplicación ya es compatible con la última versión de MongoDB, puede establecer el parámetro 

setFeatureCompatibilityVersion after the upgrade was completed.

> db.adminCommand( { setFeatureCompatibilityVersion: "4.0" } )

Verificación de actualización

Puede verificar si la actualización fue exitosa conectándose directamente a la instancia de MongoDB. Compruebe si la base de datos se está ejecutando con la versión correcta:

> db.version()

O puede verificar desde la línea de comando:

[[email protected] lib]# mongod --version

db version v4.0.20-14

git version: b96ae5b9e6c70670b6880d4c5412167a7017713a

OpenSSL version: OpenSSL 1.0.2k-fips  26 Jan 2017

allocator: tcmalloc

modules: none

build environment:

    distarch: x86_64

    target_arch: x86_64