Vous êtes sur la page 1sur 6

JOBFULL MODULAR SYSTEM

Manual de Instalacin
JOBFULL Modular System (JFMS) es un compendio de mdulos (entindase por mdulos a
un conjunto de software y/o tecnologas informticas) cuyo propsito principal es el de
facilitar el acceso a los datos sismolgicos de manera rpida y brindar herramientas para el
trabajo con estos.
Este manual esta pensado para personas que tengan un conocimiento bsico en Sistemas
Operativos basados en GNU/Linux.

Requisitos del Sistema:


El proceso de configuracin e instalacin descrito en este documento esta llevado a cabo
sobre una maquina con Debian 8 (Sistema Operativo basado en GNU/Linux), aunque JFMS
se implementa con el uso de herramientas multiplataforma, los pasos para la instalacin y
configuracin de este varan en dependencia de cada una. Los mtodos aqu descritos no
deberan de suponer problema en Sistemas Operativos basados en GNU/Linux (Debian,
Ubuntu, Fedora, ) independientemente de su versin, siempre y cuando cumplan con los
requerimientos necesarios para el funcionamiento de JFMS.
Requisitos:
Python3: (Por defecto ya viene instalados en las distribuciones actuales de Debian).
sudo aptitude install python3

PostgreSQL: (Sistema Gesto de Base de Datos).


Versin >= 9.4
sudo aptitude install postgresql-9.4

Pip3: (Sistema de gestin de paquetes utilizado para instalar y administrar paquetes


de software escritos en Python).
Los mdulos de python3 que se instalarn a travs de pip3 pueden ser instalados
tambin mediante el comando aptitude siempre y cuando este se encuentre en el
repositorio.
sudo aptitude install python3-pip

Pgadmin3 (opcional): (Interfaz grfica para la gestin y administracin de


postgresql).
Versin >= 3
sudo aptitude install pgadmin3

Dependencias de Python3:
psycopg2: (Permite la comunicacin entre Python y PostgreSQL).
sudo pip3 install psycopg2

Django: (Framework que ser el servidor del modulo JFMS Part Generator).
Versin >= 1.9.1
pip3 install Django==1.9.1

Configuracin de Base de Datos:


Antes de comenzar se recomienda copiar el archivo JFMS al directorio home del usuario.
Dentro de JFMS esta el directorio Modules y dentro de este estan todo los modulos que
conforman a JFMS. (Simple NO!?)
Configurando PostgreSQL:
(En Windows, al instalar PostgreSQL, estos datos son pedidos en el momento de la
instalacin)
Insertando contrasea al usuario postgres:
sudo passwd postgres

Ahora entraremos a la consola de administracin de PostgreSQL para insertar la


contrasea del usuario postgres (este usuario, a pesar de que tiene el mismo nombre
es distinto al de arriba, y su contrasea nos dar acceso a la base de datos.
Recomendamos usar la misma contrasea para los 2 usuarios)
su postgres
(Nos pedir la contrasea que pusimos arriba)
psql postgres (Entramos a la interfaz de lnea de rdenes de PostgreSQL)
ALTER ROLE postgres PASSWORD 'CONTRASEA';
(Sustituimos CONTRASEA por la nuestra, las comillas simples se dejan)
\q
(Salimos de la interfaz de lnea de rdenes)
exit
(Nos desloggeamos al usuario postgres)

Creando la base de datos seisan_db:

createdb -h localhost -p 5432 -U postgres seisan_db

Creando la estructura de la base de datos seisan_db


Nos ubicamos dentro del directorio seisan_db_schema
(/JFMS/Modules/SeisanDB2PG/seisan_db_schema/), dentro de este se encuentra el fichero
seisan_db_schema.sql el cual no es mas que un script sql que tiene las instrucciones
necesarias para crear las tablas que sern el pilar del JFMS. Una ves dentro del directorio
seisan_db_schema ejecutamos los siguientes comandos.

su postgres
psql seisan_db < seisan_db_schema.sql (Mandamos a ejecutar el script sql para la base de
datos seisan_db)
exit

Instalacin de Mdulos:
SeisanDB2PG:
Este modulo es la base del JFMS ya que es el encargado del anlisis de los datos nativos de
la base de datos SEISAN y de su almacenamiento en la base de datos PostgreSQL.

Vamos a hacer un rpido anlisis de los ficheros mas relevantes que contiene el modulo
SeisanDB2PG:
config.cf:
Se almacena la configuracin de la conexin a la base de datos, direccin del
directorio donde esta la base de datos SEISAN y los datos de trabajo diario del
modulo. (Este fichero no debe de ser modificado manualmente ya que el mismo
programa se encargara de pedirle los datos).

pg_config.cfg:
Aqu se guarda la configuracin de los ficheros SEISAN, este fichero es de suma
importancia ya que le indica al analizador de que forma leer los fichero en formato
SEISAN.

SeisanDB2PG.py:
Programa principal, el cual se har cargo de de gestionar los recursos del modulo. A
este script se le puede pasar el parmetro -a el cual le indica que cargue la
configuracin del fichero config.cf, este parmetro nos ser de utilidad cuando
automaticemos el arranque de nuestro modulo.

Carpeta Logs:
En esta carpeta se almacenan los logs relacionados a los ficheros que no se pudieron
analizar por problemas en su estructura.

NOTA: Ninguno de los fichero contenido dentro de este modulo debe de ser modificado, a
menos que se tenga conocimiento de lo que se esta haciendo.
Antes de iniciar el modulo (Localizar Base de Datos SEISAN): Debemos tener ubicada la
carpeta donde se encuentra la base de datos SEISAN, la cual si esta en la misma maquina
del JFMS, solo sera necesario saber su direccin, de estar en otra pc ser necesario
montarla en nuestro sistema.
En Debian (y sistemas basados en GNU/Linux) el montado de carpetas remotas como
carpetas local es un proceso muy sencillo, basta con tener la carpeta a montar compartida en
la mquina remota para luego en una terminal escribir la siguiente linea de comando:
Nos situamos en la direccin donde crearemos nuestro punto de montaje (carpeta que
direccionaremos a host remoto).
Supongamos que mi usuario es jobfull, una direccin vlida pudiera ser /home/jobfull/.
El nombre que le pongamos al punto de montaje queda a su eleccin, para este ejemplo
usaremos el nombre de SEISAN_DB.

mkdir SEISAN_DB

(Creamos la carpeta SEISAN_DB)

sudo mount
-t cifs -o
/home/jobfull/SEISAN_DB/

username=user,password=pass

Donde:
user: Usuario de acceso al dispositivo remoto.

//servidorremoto/REA/

pass: Contrasea de acceso al dispositivo remoto.


//servidorremoto/rea/: Direccin del dispositivo remoto con el nombre de la
carpeta compartida.
Ej:
//192.168.12.28/rea/
//192.168.12.28/seisan/rea/
/home/jobfull/SEISAN_DB/: Direccin en nuestro equipo a la que asociaremos la
carpeta compartida.
Ej:
/home/mi_usuario/IAS3_CUBA/
/mnt/REA/
/mnt/DB_Seisan/
Una vez realizado el montaje accedan a al directorio para asegurarse que todo a salido bien,
se debera de ver el contenido compartido del equipo remoto.
Iniciando modulo:

python3 SeisanDB2PG.py

La llamada al script, como se menciona mas arriba, puede ser hecha con la opcin -a, esta
le indica al programa que se inicie con la configuracin que esta el fichero config.cfg. La
primera vez que se ejecute este modulo debe de hacerse sin la opcin -a, ya que como es
lgico, no tendr ninguna configuracin inicial establecida. El uso de esta opcin se ver mas
adelante cuando agreguemos este modulo a los procesos de inicio automtico.
Una vez ejecutado el modulo procederemos a insertar los datos que nos va a ir pidiendo.
Aunque este proceso de configuracin es fcil, vamos hacer una breve descripcin de cada
uno de ellos con el fin de esclarecer cualquier duda que se pueda presentar durante el
proceso.
Enter path of REA file (example: E:\Seismo\REA\ or /mnt/DB_Seisan/REA/):
Direccin donde se encuentra el fichero REA del SEISAN, CUIDADO!, no la direccin
donde se encuentran los archivos ordenados por aos. Si este directorio se encuentra
en un equipo remoto y fue montado en nuestro equipo, entonces la direccin sera la
del punto de montaje.
Normalmente el orden de almacenamiento de las carpetas sera as:
/home/user/Seismo/REA/CUBA_/AOS
c:\Seismo\REA\CUBA_\AOS
O en el caso de que este compartido:
c:\Seismo\REA\ (Carpeta Compartida) -------> /home/user/Seisan_DB/
c:\Seismo\ (Carpeta Compartida) -------> /home/user/Seisan_DB/REA/
c:\Seismo\ (Carpeta Compartida) -------> /home/user/Seismo/REA/

Los segmentos en Negrita son las direcciones que se deben de tomar en cuenta.

Enter the NAME OF THE DATABASE to start reading (example: CUBA_):


Nombre que tiene la base de datos de su estacin. Ej: CUBA_

Enter YEAR to start reading or leave blank to read everything:


Insertar el ao por el cual quiere que comience a analizar los ficheros, o dejar en
blanco para que los analice todos.

Enter MONTH to start reading or leave blank to read everything:


Igual que ao.

If we find an existing value in the database, what should be done?


Que hacer en caso de encontrarse ya un valor analizado en la base de datos, Qu
hacer?
Se brindan 2 opciones Ignore (Ignorar) o Update (Actualizar/Sobrescribir).
Recomendamos que siempre que se pueda se elija la opcin por defecto, Update.

Enter UPDATE TIME in seconds or leave blank to set up 60:


Cada que tiempo (en segundos) se revisa si hay algn cambio en la base de datos
SEISAN, dejar en blanco para valor por defecto (60 segundos).

Host (Default Value: 'localhost'):


Direccin del nuestro servidor de postgresql. Si esta instalado en la misma mquina
dejar por defecto (localhost).

DataBase (Default Value: 'seisan_db'):


Nombre de nuestra base de datos en postgresql. Valor por defecto seisan_db.

User (Default Value: 'postgres'):


Nombre de usuario para acceder a la base de datos postgresql. Valor por defecto
postgres.

Password (Default Value: 'postgres'):


Contrasea de acceso a la base de datos postgresql, en caso de estar en alguna
distribucin de GNU/Linux, no confundir con la contrasea del usuario postgres el cual
es creado al instalarse el programa, recuerde que es la contrasea de acceso a la
base de datos postgresql, si tiene dudas revise la seccin donde se instala y
configura PostgreSQL.

Una vez completado este proceso, el programa empezar el anlisis de los ficheros.
NOTA: Debido al momento en el que se desarrollo este proyecto, se llego al consenso de
que cada vez que el proceso de anlisis, habiendo este analizado toda la base de datos
en un inicio, se levante despus de su tiempo de descanso (en la configuracin inicial,
sera el valor que se introduce para la opcin Enter UPDATE TIME in seconds or leave blank
to set up 60:) analizar los datos a partir del mes anterior al que se encuentra.

SeisanDB2PG

Vous aimerez peut-être aussi