SDE0013c Versión 2.0(08/04/05) Manual de Implantación MongoDB Fecha: Referencia: os: ersión EJIE S.A. Mediterráneo, 3 01010 Vitoria-Gasteiz Posta-kutxatila / Apartado: 809 01080 Vitoria-Gasteiz Tel. 945 01 73 00* Fax. 945 01 73 01 www.ejie.es Este documento es propiedad de EJIE, S.A. y su contenido es confidencial. Este documento no puede ser reproducido, en su totalidad o parcialmente, ni mostrado a otros, ni utilizado para otros propósitos que los que han originado su entrega, sin el previo permiso escrito de EJIE, S.A.. En el caso de ser entregado en virtud de un contrato, su utilización estará limitada a lo expresamente autorizado en dicho contrato. EJIE, S.A. no podrá ser considerada responsable de eventuales errores u omisiones en la edición del documento. Contenido Capítulo/sección Página 1 REQUERIMIENTOS DE IMPLANTACION 4 1.1 CONFIGURACION DE LA APLICACIÓN 4 1.1.1. Acceso a la Aplicación 4 1.1.2. Requerimientos de Estructura 4 1.1.3. Base de Datos 4 1.1.4. Configuración Web 4 1.1.5. Configuración Weblogic 5 1.2 PROCESOS BATCH 5 1.3 DESINSTALACIÓN / MARCHA ATRÁS 5 1.3.1. Desinstalación de software 5 1.3.2. Desinstalación de BBDD 5 1.3.3. Orden de la desinstalación 6 1.3.4. Configuración de Aplicaciones 6 1.3.5. Comprobaciones a realizar 6 1.3.6. Puntos de restauración 7 1.4 EXPLOTACIÓN DEL SISTEMA 8 1.5 DATOS PARA PLANIFICACIÓN DE CAPACIDAD (Obligatorio en implantaciones en Pruebas) 9 1.6 REQUISITOS MÍNIMOS DE INSTALACIÓN 9 1.7 OTROS REQUERIMIENTOS 10 2 MANUAL DE APLICACION 11 2.1 DATOS Y SECCIONES ADICIONALES 11 2.2 VALIDACIÓN 11 3 ANEXOS 12 3.1 PERMISOS DE USUARIOS FINALES 12 3.2 PLANTILLA DE VOLUMETRÍA DE BBDD 12 Manual Implantación - MongoDB - Entorno- Versión 2/12 3.3 PLANTILLAS DE PRUEBAS DE CARGA Y ANÁLISIS ESTÁTICO Manual Implantación - MongoDB - Entorno- Versión 12 3/12 1 REQUERIMIENTOS DE IMPLANTACION 1.1 CONFIGURACION DE LA APLICACIÓN 1.1.1. Acceso a la Aplicación El acceso se realizará utilizando usuarios de XLNet. 1.1.2. Requerimientos de Estructura Existencia del usuario mongodb:mongodb La versión de mongodb que se instalará es la 2.0.2. Para ello, realizamos los siguientes pasos: Obtener el paquete tgz o instalable del repositorio de productos: mongodb-linux-x86_64-2.0.2.tgz Acceder a la máquina con el usuario “mongodb”. Descomprimir el paquete anterior en el directorio /mongodb Los permisos de lo que creamos deben ser 755. Crear: /opt/mongodb-linux-x86_64-2.0.2/bin/start.sh (Su contenido es el siguiente): ./mongod --nojournal --dbpath /mongodb/database/ --fork --logpath /logs/mongodb/mongodb.log -port 8155 –rest Crear el directorio /mongodb/database/ con propietario mongodb:mongodb 1.1.3. Base de Datos Se deben crear las bases de datos y colecciones adecuadas como se puede ver en la sección 1.3.4 1.1.4. Configuración Web N/A Manual Implantación - MongoDB - Entorno- Versión 4/12 1.1.5. Configuración Weblogic N/A 1.2 PROCESOS BATCH N/A. 1.2.1. Rotado de logs Para realizar el rotado de logs se deber crear una tarea en Control-M que se ejecutará todas las noches a las 00:30 y que realizará un rotado y compresión de los logs, además de borrar los más viejos de 7 días. 1.3 DESINSTALACIÓN / MARCHA ATRÁS 1.3.1. Desinstalación de software DESINSTALACIÓN DE SOFTWARE Id Orden Ejecutable o Instalador Descripción instalador Ruta del Ejecutable Ubicación Máquina de ejecución del ejecutable Observacio nes Término de la máquina o servidor. Ver punto 8 Las tareas a realizar para desinstalar el software son: 1 – Parada de mongodb (realizando un kill del proceso “mongod”) 2 – Eliminación del directorio /mongodb 3 – Eliminación del usuario mongodb 1.3.2. Desinstalación de BBDD N/A. Manual Implantación - MongoDB - Entorno- Versión 5/12 DESINSTALACIÓN DE BBDD Id Orde n Ejecutable o Instalador Descripción paquete Ruta del Ejecutable Ubicación 1.3.3. Orden de la desinstalación 1.3.4. Configuración de Aplicaciones Base de datos Esquema Nombre BBDD Nombre Esquema Observaciones N/A Realmente no hay que modificar ficheros para configurar mongo. Realizaremos una configuración “interna” orientada a nuestra aplicación Y31. Para ello ejecutaremos las siguientes instrucciones: 1 – Ejecutar “mongo” para entrar en su “shell” de comandos. /opt/mongodb-linux-x86_64-2.0.2/bin/mongo --port 8155 2 – Una vez en la shell, ejecutar las instrucciones definidas en el siguiente fichero, según el entorno en el que nos encontremos: 1.3.5. Comprobaciones a realizar Se incluirá la siguiente comprobación a realizar en cada entorno después de las instalaciones de aplicativos que consistirá en acceder a una URL determinada con un usuario de prueba genérico. Se comprobará si mongo responde en el puerto en el que está arrancado (utilizando un cliente mongo, telnet etc….): ¿Se accede a una URL determinada? Manual Implantación - MongoDB - Entorno- Versión SI NO Esperado 6/12 Destino http://ejld024 (Maquina principal) Puerto (Puerto de escucha de mongod) Usar algún 8155 cliente de mongo comprobar en en netstat o Hacer un ps para ver que se encuentran los siguientes procesos: Maquina Principal SI NO Esperado SI NO Esperado Proceso Procesos de hdfs : mongod ¿Se accede mediante un usuario de prueba? Destino Ej: prueba 1.3.6. Puerto Ej: 123456 Puntos de restauración N/A Manual Implantación - MongoDB - Entorno- Versión 7/12 1.4 EXPLOTACIÓN DEL SISTEMA No existe necesidad de realización de backups fuera de los estándares de EJIE, salvo la dependencia del backup de ejie con la ejecución del proceso batch que exportará de Mongo los ficheros a ser guardados por el backup. El script se comenta en el punto 1.4.1 No existe necesidad de la existencia de monitorizaciones especiales fuera de las políticas establecidas por EJIE. Los procesos a monitorizar se detallan en el punto 1.4.2 1.4.1. Backup En horario nocturno se ejecutará un Control^M del que dependerá el backup estándar de EJIE. Este proceso generará una copia de la configuración y colecciones de mongoDB almacenados. Se extraerá la definición de BD, sus colecciones y los datos a un filesystem externo (/backup) para posteriormente ser almacenado con el backup de legato. Será de ejecución diaria y en horario nocturno. El backup de legato será dependiente de la finalización de este script. El script encargado de la extracción 2.0.2/scripts/backup y es el siguiente: anterior se encuentra en /opt/mongodb-linux-x86_64- Una vez finalizado este script, se podrá ejecutar el backup estándar de EJIE sobre el directorio /backup. 1.4.2. Restore El restore se realizará en dos fases. Primero se realizará el restore del backup al directorio /backup y luego, de forma manual, se darán de alta los datos en mongo. Para ello habrá que ejecutar las siguientes instrucciones. /opt/mongodb-linux-x86_64-2.0.2/bin/mongorestore -host localhost:8155 /mongodb/backup/data/DATOS_A_RECUPERAR En caso de perder tanto datos como estructura antes de realizar la instrucción anterior crear bbdd y colecciones desde la consola de mongodb: use nombreBD db.createCollection("nombreColección", {capped:true, size: tamañoColeccion}) Los datos que se necesitan para esta creación están en el fichero /mongodb/backup/conf/bbdd.conf 1.4.3. Monitorización Se han creado unos scripts para que, aparte de monitorizar los procesos, nagios/patrol pueda comprobar si mongo está funcionando correctamente. El script que deberá ejecutar nagios/patrol es /opt/mongodb-linux- Manual Implantación - MongoDB - Entorno- Versión 8/12 x86_64-2.0.2/scripts/monitorización/monitor.ksh El cual, a su vez, utiliza el script monitor.js situado en el mismo directorio. Nagios deberá comprobar si el script monitor.ksh devuelve 0 (ejecución correcta) o 1 (Ejecución erronea). Patrol deberá buscar la cadena “OK” en la salida del script. El proceso a monitorizar es el siguiente [root@ejlf054 init.d]# ps -fea www | grep mongo mongodb 4179 1 0 13:00 ? Sl 0:00 ./mongod --nojournal --dbpath /mongodb/database/ --fork --logpath /logs/mongodb/mongodb.log --port 8155 --rest 1.4.4. Arranque/Parada El script de arranque y parada de mongodb se encuentran en /etc/init.d y se llama mongodb.sh 1.5 DATOS PARA PLANIFICACIÓN DE CAPACIDAD (Obligatorio en implantaciones en Pruebas) 1) Tipo de Aplicación. - Carga Baja. 2) Nº Usuarios potenciales. Del orden de las Decenas. 3) Tamaño de BBDD esperado en Producción: Del orden de MB 1.6 REQUISITOS MÍNIMOS DE INSTALACIÓN La versión de mongodb que se instalará es la 2.0.2. Para ello, realizamos los siguientes pasos: Obtener el paquete tgz o instalable del repositorio de productos: mongodb-linux-x86_64-2.0.2.tgz Acceder a la máquina con el usuario “mongodb”. Manual Implantación - MongoDB - Entorno- Versión 9/12 Descomprimir el paquete anterior en el directorio /mongodb Los permisos de lo que creamos deben ser 755. Ejecutar: /mongodb/mongodb-linux-x86_64-2.0.2/bin/start.sh (Su contenido es el siguiente): ./mongod --nojournal --dbpath /mongodb/database/ --fork --logpath /mongodb/logs/mongodb.log -port 8155 –rest 1.7 OTROS REQUERIMIENTOS N/A Manual Implantación - MongoDB - Entorno- Versión 10/12 2 MANUAL DE APLICACION 2.1 DATOS Y SECCIONES ADICIONALES N/A 2.2 VALIDACIÓN N/A Manual Implantación - MongoDB - Entorno- Versión 11/12 3 ANEXOS 3.1 PERMISOS DE USUARIOS FINALES N/A Excel con los datos de los usuarios y los tipos de permisos 3.2 PLANTILLA DE VOLUMETRÍA DE BBDD N/A Plantilla Volumetría BBDD 3.3 PLANTILLAS DE PRUEBAS DE CARGA Y ANÁLISIS ESTÁTICO N/A Plantilla Plantilla Preparación de Análisis Estático Preparación Pruebas de Carga Manual Implantación - MongoDB - Entorno- Versión 12/12