PRE REQUISITOS:
- Pre instalación de mongo database en su versión 10gen... Si no has hecho la instalación puedes seguir esta guía: Instalar MongoDB 3.X en Ubuntu
- (Opcional) Desde windows, pre instalar el programa Vim para evitar conflictos de espacios, derivando en archivos corruptos al traspasar a Linux las ediciones. Una vez en el VIM, si copias y pegas segmentos o preferiblemente siempre antes de guardar ejecuta lo siguiente:
:set fileformat=unix
1) VERIFICACIÓN DE PERMISOS
Lo primero que debemos hacer es verificar los permisos de las carpetas /var/lib/mongodb y /data/db , de las cuales usaremos /data/db en nuestro archivos de configuración que veremos a continuación; por lo tanto, debemos asegurarnos que ambas carpetas tengan el usuario requerido por mongo. En las instalaciones default por lo general se requiere que estas carpetas tengan los usuarios "mongodb" y "root" con acceso a todas las subcarpetas y archivos.
Para equiparar permisos se puede utilizar el siguiente script:
sudo chown -R /data/db
No está demás indicar un comando para buscar nombres de archivos en todo el sistema antes de continuar:
$ find / -mount -name '*'
2) ARCHIVO MONGOD.CONF EN LA CARPETA /etc
Este archivo posiblemente se haya creado con la instalación de mongo, de igual manera dejaré un ejemplo que está funcionando:
# mongod.conf # for documentation of all options, see: # http://docs.mongodb.org/manual/reference/configuration-options/ # Where and how to store data. storage: dbPath: /data/db journal: enabled: true # engine: # mmapv1: # wiredTiger: # where to write logging data. systemLog: destination: file logAppend: true path: /var/log/mongodb/mongod.log # network interfaces net: port: 27017 bindIp: 0.0.0.0 #operationProfiling: #replication: #sharding: ## Enterprise-Only Options: #auditLog: #snmp:3) ARCHIVO MONGODB.CONF EN LA CARPETA /etc/init - Este archivo es el script upstart que invocará el servicio llamando a su vez al otro archivo .conf de la carpeta etc... Se basa en YAML por lo cual hay que tener cuidado con la posición de los comandos, en particular separar el "valor" de la declaración por un espacio en blanco. - Un ejemplo de script upstart mongo funcionando:
# Ubuntu upstart file at /etc/init/mongodb.conf pre-start script mkdir -p /var/lib/mongodb/ mkdir -p /var/log/mongodb/ end script start on runlevel [2345] stop on runlevel [06] script ENABLE_MONGODB="yes" if [ -f /etc/default/mongodb ]; then . /etc/default/mongodb; fi if [ "x$ENABLE_MONGODB" = "xyes" ]; then if [ -f /var/lib/mongodb/mongod.lock ]; then rm /var/lib/mongodb/mongod.lock #sudo -u mongodb /usr/bin/mongod --config /etc/mongod.conf --repair fi if [ -f /data/db/mongod.lock ]; then rm /data/db/mongod.lock fi exec start-stop-daemon --start --quiet --chuid mongodb --exec /usr/bin/mongod -- --config /etc/mongod.conf fi end script4) EJECUCIÓN Y TEST - Algo muy importante es el probar estos archivos y para ello puedes ejecutar desde la consola, ubicándote en la carpeta contenedora el siguiente comando: Para iniciarlo: sudo service mongodb start Para ver el estatus: sudo service mongodb status Para detenerlo: sudo service mongodb stop - El log para visualizar los errores y avances en la concreción del script estaría ubicado en la siguiente ruta de sistema: /var/log/upstart/mongodb.log y pasando este nivel el próximo log sería el que se tiene parametrizado en los scripts; en mi caso esta en la ruta: var/log/mongodb/mongodb.log Es importante también no confundir Upstart (etc/init) con los tradicionales scripts Daemon (etc/init.d), partiendo de que son configuraciones distintas y se ubican en repositorios distintos. Para profundizar UBUNTU STARTUP INIT SCRIPTS METHODS SHARD MONGO SERVERS (AVANZADO) http://www.joslynesser.com/blog/archives/2010/09/28/mongodb-sharding-guide-server-setup-on-ubuntu-ec2/
0 comentarios:
Publicar un comentario