Mostrando las entradas con la etiqueta BASE DE DATOS. Mostrar todas las entradas
Mostrando las entradas con la etiqueta BASE DE DATOS. Mostrar todas las entradas

lunes, 25 de enero de 2016


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 EN LA CARPETA /etc/init.d - Este archivo es el script daemon que invocará el servicio llamando a su vez al otro archivo .conf de la carpeta etc... - Un ejemplo de script daemon mongo funcionando:
# !/bin/sh
### BEGIN INIT INFO
# Provides:          mongodbstartup
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start mongo database instance at boot time
# Description:       Enable service provided by mongo.
### END INIT INFO

# mongodb     Startup script for the mongodb server
#
# chkconfig: - 64 36
# description: MongoDB Database Server
#
# processname: mongodb
#
#set -e
#set -u
# Source function library
#. /etc/rc.d/init.d/functions

. /lib/lsb/init-functions

#if [ -f /etc/sysconfig/mongodb ]; then
#        . /etc/sysconfig/mongodb
#fi
prog="mongod"
mongod="/usr/bin/mongod"
mongodb_user="luiseliberal"
RETVAL=0

start() {
        echo -n $"Starting $prog: "
        #daemon $mongod "--fork --logpath /var/log/mongodb/mongod.log --logappend 2>&1 >> /var/log/mongodb/mongod.log"
        daemon --user=$mongodb_user $mongod "--config /etc/init/mongod.conf"
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
        return $RETVAL
}

stop() {
        echo -n $"Stopping $prog: "
        killproc $prog
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
        return $RETVAL
}
reload() {
        echo -n $"Reloading $prog: "
        killproc $prog -HUP
        RETVAL=$?
        echo
        return $RETVAL
}

case "$1" in
        start)
                start
                ;;
        stop)
                stop
                ;;
        restart)
                stop
                start
                ;;
        condrestart)
                if [ -f /var/lock/subsys/$prog ]; then
                        stop
                        start
                fi
                ;;
        reload)
                reload
                ;;
        status)
                status $mongod
                RETVAL=$?
                ;;
        *)
                echo $"Usage: $0 {start|stop|restart|condrestart|reload|status}"
if [ -f /var/lib/mongodb/mongod.lock ] ; then
        rm /var/lib/mongodb/mongod.lock
fi

if [ -f /data/db/mongod.lock ] ; then
        rm /data/db/mongod.lock
fi

        mongod --repair
     mongod --auth
                RETVAL=1
esac

exit $RETVAL


4) Inclusión del script daemon en las llaves del sistema ubuntu

Para añadir el script:
root@skx:~# update-rc.d  defaults
 Adding system startup for /etc/init.d/blah ...
   /etc/rc0.d/K20blah -> ../init.d/blah
   /etc/rc1.d/K20blah -> ../init.d/blah
   /etc/rc6.d/K20blah -> ../init.d/blah
   /etc/rc2.d/S20blah -> ../init.d/blah
   /etc/rc3.d/S20blah -> ../init.d/blah
   /etc/rc4.d/S20blah -> ../init.d/blah
   /etc/rc5.d/S20blah -> ../init.d/blah


Para remover el script:
root@skx:/etc/rc2.d# update-rc.d -f  remove
update-rc.d: /etc/init.d/blah exists during rc.d purge (continuing)
 Removing any system startup links for /etc/init.d/blah ...
   /etc/rc0.d/K20blah
   /etc/rc1.d/K20blah
   /etc/rc2.d/S20blah
   /etc/rc3.d/S20blah
   /etc/rc4.d/S20blah
   /etc/rc5.d/S20blah
   /etc/rc6.d/K20blah


5) 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: ./mongodb
Para iniciarlo y verificar la ejecución: ./mongodb > mongodbtest (mongodbtest es un archivo creado en la misma carpeta)

- 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/boot.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.

SHARD MONGO SERVERS (AVANZADO) http://www.joslynesser.com/blog/archives/2010/09/28/mongodb-sharding-guide-server-setup-on-ubuntu-ec2/


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 script



4) 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/

jueves, 21 de enero de 2016

Ejecutar los comandos siguientes en la consola:

mongoexport --db sec_medicinales_ppal --collection hierbas --out sec_bk.json

Donde sec_medicinales_ppal es el nombre de la base de datos, hierbas la colección(lo que se entiende en bases de dato relaciones como tablas) y sec_bk.json el archivo donde se escribirán los datos.

Subscribe to RSS Feed Sígueme en twitter!