Opened 8 years ago

Last modified 8 years ago

#238 new defect

WRF4G en asterix

Reported by: MarkelGarcia Owned by: valva
Priority: major Milestone:
Component: TracMeteo Keywords:
Cc: carlos, antonio, chus

Description

Hola,

Estoy probando el WRF4G en asterix, el cluster linux que tienen en el LSCE. Parece sencillo porque es un cluster con Red Hat y es todo bastante estandar. El tema es que hay un problema con el MySQL. Seguramente será que algo está capado por algún tema de seguridad (es muy estricto aquí). El caso es que normalmente cuando hay problemas co la base de datos el error lo suele dar al hacer el "wrf4g_framework start". Pero en este caso no ha sido así, y ese comando al parecer ha funcionado bien, y se ve la base de datos escuchando en el backgroud. El problema viene al tratar de comunicarse con ella, al hacer le wrf4g_prepare.

Warning: You are using resources.wrf4g located in the /home/users/magarcia/WRF4G/etc/ directory.
Traceback (most recent call last):
  File "/home/users/magarcia/WRF4G/bin/WRF4G.py", line 4, in <module>
    from WRF4Glib import *
  File "/home/users/magarcia/WRF4G/lib/python/WRF4Glib.py", line 20, in <module>
    passwd=WRF4G_DB_PASSWD)
  File "/home/users/magarcia/WRF4G/lib/python/vdblib.py", line 42, in __init__
    raise Exception("Error %d: %s" % (e.args[0], e.args[1]))
Exception: Error 2003: Can't connect to MySQL server on 'asterix3' (113)

Mis dudas ¿Esto quiere decir que el puerto esta cerrado? Pero si estuviera cerrado el error me lo habría dado antes ¿no? O puede ser que solamente esté cerrado en un dirección (desde fuera). Aunque ahora mismo estoy intentando corre el single_test nada mas, en la misma máquina en la que está el mysql, para comprobar que funcionan los binarios.

Orientadme un poco por favor, así puedo afinar un poco al preguntar al soporte de aquí.

Saludos,

Markel

PD: He visto los scripts que usan para correr aquí (todo shell sh)... y bendito WRF4G, espero que funcione.

Change History (13)

comment:1 Changed 8 years ago by antonio

Markel,

que dice el $WRF4G_LOCATION/etc/db4g.conf?

puedes hacer un ping an asterix3 ? (dame el output)

si el ping funciona, funciona un telnet $WRF4G_DB_HOST $WRF4G_DB_PORT ?

y si haces

mysql -h asterix3 -P $WRF4G_DB_PORT -u $WRF4G_DB_USER -p 

y

mysql -h localhost -P $WRF4G_DB_PORT -u $WRF4G_DB_USER -p 

o

mysql -h 127.0.0.1 -P $WRF4G_DB_PORT -u $WRF4G_DB_USER -p 
Last edited 8 years ago by antonio (previous) (diff)

comment:2 Changed 8 years ago by MarkelGarcia

Este es el db4g.conf

magarcia@asterix3:~$cat etc/db4g.conf 
# DataBase Configuration
WRF4G_DB_HOST="asterix3"
WRF4G_DB_PORT=13308
WRF4G_DB_USER="wrf4guser"
WRF4G_DB_PASSWD="Meteo2011"
WRF4G_DB_DATABASE="WRF4GDB"

No hace ping, por aquí está el problema.

magarcia@asterix3:~$ping asterix3
PING asterix3.extra.cea.fr (132.166.72.72) 56(84) bytes of data.
From asterix3.extra.cea.fr (132.166.72.26) icmp_seq=2 Destination Host Unreachable
From asterix3.extra.cea.fr (132.166.72.26) icmp_seq=3 Destination Host Unreachable
From asterix3.extra.cea.fr (132.166.72.26) icmp_seq=4 Destination Host Unreachable
From asterix3.extra.cea.fr (132.166.72.26) icmp_seq=6 Destination Host Unreachable
From asterix3.extra.cea.fr (132.166.72.26) icmp_seq=7 Destination Host Unreachable
From asterix3.extra.cea.fr (132.166.72.26) icmp_seq=8 Destination Host Unreachable

Tampoco telnet

magarcia@asterix3:~$telnet asterix3 13306
Trying 132.166.72.72...
telnet: connect to address 132.166.72.72: No route to host

Tampoco estos

magarcia@asterix3:~$mysql -h asterix3 -P 13306 -u wrf4guser -p
Enter password: 
ERROR 2003 (HY000): Can't connect to MySQL server on 'asterix3' (113)
magarcia@asterix3:~$mysql -h localhost -P 13306 -u wrf4guser -p
Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
magarcia@asterix3:~$mysql -h 127.0.0.1 -P 13306 -u wrf4guser -p
Enter password: 
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)

Copio de las instrucciones de la intranet:

The cluster is seen on the network with the unique name "asterix.lscelb.extra.cea.fr" (can be shortened to "asterix.lscelb")
Behind this name are three server "asterix1", "asterix2" and "asterix3".
A workload software lbnamed link the name to a physical server at login time.

Direct access to the cluster is only possible from inside LSCE, or from CCRT.
Permitted protocols are ssh and XDMCP 

Parece que está todo cerrado excepto el ssh y el XDMCP, y ni siquiera se puede acceder desde el el propio asterix. Supongo que podría hacer un tunel, pero es mejor que les pida permiso a los de soporte o que me abran ellos el puerto.

He probado también poniendo asterix.lscelb, que si hace ping, pero el MySQL tampoco funciona.

Markel

comment:3 Changed 8 years ago by antonio

Hola Markel,

Hay un problemilla con la resolución de nombres.

Dame el output de los siguientes comandos:

ifconfig
hostname -A
hostname -I 
cat /etc/hosts

en las pruebas de los comandos mysql, reemplaza el puerto 13306 por el 13308, que es el que está usando tu MySQL.

Hay otro problema, potencial, grave asociado a que su ui es virtual (asterix) y en realidad son 3 ui reales (asterix1, asterix2, asterix3,), pero nunca sabes a que ui te logueas. Eso significa que si arrancas el WRF4G en el asterix3, te deslogueas y luego te vuelves a loguear, puede ser que entres en el asterix2, y por tanto que no haya un WRF4G corriendo.

Puedes loguearte a asterix3 directamente?

Desde asterix3, puedes acceder por ssh a ui.macc.unican.es?

Antonio

comment:4 Changed 8 years ago by MarkelGarcia

He probado a instalar el WRF4G en mi máquina local (un Fedora 16), y ha funcionado el single test. He agregado el recurso asterix con una cola y aparentemente todo está bien excepto que me salen 0 nodos disponibles. Esta es otra vía aunque tendría que dejar el ordenador siempre encendido.

Te paso los comandos, esta vez me ha entrado en asterix2.

magarcia@asterix2:~$ifconfig
bash: ifconfig: command not found
hostname -a
asterix2.extra.cea.fr
magarcia@asterix2:~$cat /etc/hosts
127.0.0.1	localhost.localdomain localhost
132.166.72.201	asterix2.extra.cea.fr asterix2
132.166.72.20	corto loghost
132.166.72.21	cush
132.166.72.59	dsm-ldap dsm-ldap.extra.cea.fr
132.166.72.60	dsm-ldap1 dsm-ldap1.extra.cea.fr
132.166.72.1	obelix1
::1       localhost       loopback

Puedes loguearte a asterix3 directamente?

Desde asterix3, puedes acceder por ssh a ui.macc.unican.es?

Si, puedo hacer ambas cosas. Pero desde ui no voy a poder acceder a asterix, así que allí no lo puedo agregar como recurso.

comment:5 Changed 8 years ago by antonio

Markel,

Desde uno de los asterix prueba este comando:
mysql -h ui.macc.unican.es -P 13310 -p -u wrf4guser

y si puedes hazlo también desde un nodo en job interactivo

Si funciona, puedes usar el MySQL del ui y se te dan de alta los experimentos en el MySQL del UI.

A.

comment:6 Changed 8 years ago by MarkelGarcia

OK, muchas gracias, ya estoy funcionando con la base de datos de ui. He corrido el single_test en las colas sin problema. Cuando le cuente a Robert que en un día el WRF4G está funcionando en un cluster nuevo va a alucinar.

¿Oye este trac es público? No debería de publicar aquí las IPs y los puertos. ¿No debería de haber usado el otro trac de WRF4G? ¿Tu que eres admin puedes borrar este ticket?

Last edited 8 years ago by MarkelGarcia (previous) (diff)

comment:7 Changed 8 years ago by anonymous

Hola,

Bueno, ahora tengo otro problema diferente, sobre el espacio. Esta noche he intentado empezar a producir, pero no he avanzado mucho porque se ha llenado la quota de mi HOME, que es bastante baja (2 GB creo) El output va a otro disco, pero los wrfout temporales que va a escribiendo ocupan bastante, y al ser 6 simulaciones a la vez me como la quota. De todas formas no debería de correr en el HOME.

No tengo muy claro como va lo de los directorios temporales en WRF4G, porque veo que hay 2: Un RUN_DIR que se configura en el framework.wrf4g y un WRF4G_RUN_LOCAL que se configura en el resources.wrf4g. De la explicación yo entiendo que son lo mismo.

El problema es que allí con cada job se genera una carpeta temporal con 100GB a la que se accede a través de una variable de entorno local $WORKDIR. ¿Si escribo WRF4G_RUN_LOCAL=$WORKDIR en el resources.wrf4g funcionará? No lo tengo claro. También hay un scratch compartido, pero está bastante lleno, y además está montado por nfs. El sitio bueno es el $WORKDIR, que es ext4.

Saludos

comment:8 Changed 8 years ago by MarkelGarcia

Vaya, he escrito como anónimo, no sabía que esto se podía hacer...

comment:9 Changed 8 years ago by carlos

Hola Markel,

La variable WRF4G_RUN_LOCAL hace tiempo que ya no existe. Las variables a configurar son sólo TEMP_DIR y RUN_DIR del fichero framework4g.conf.En tu caso, si pones RUN_DIR=$WORKDIR en la configuración del recurso debería funcionarte.

Un saludo,

Carlos

comment:10 Changed 8 years ago by MarkelGarcia

No funciona. En algún momento detecta que la variable está vacía y le enchufa el path del HOME delante. Pego los logs del .submission

magarcia@obelix3:~$cat ~/WRF4G/.submission/ecdx_mph/ecdx_mph__BCCR/stderr.153
Starting to copy ...
Copying from file:///home/champion/magarcia/projects/eurocordex_mp/data/raw/ecdx_mph/experiment.wrf4g to file:///home/users/magarcia/.gw_magarcia_153
Command to copy cp -v  /home/champion/magarcia/projects/eurocordex_mp/data/raw/ecdx_mph/experiment.wrf4g /home/users/magarcia/.gw_magarcia_153
The copy lasted 0.000735580921173 minutes
./WRF4G.sh: line 437: log/WRF4G.log: No such file or directory
Starting to copy ...
Copying from file:///home/users/magarcia/WRF4G/repository/apps/WRFbin-3.3.1_r1440INTEL_OMPI_noCLWRF.tar.gz to file:///home/users/magarcia/.gw_magarcia_153/$WORKDIR/wrf4g.20130607110853787803907
Command to copy cp -v  /home/users/magarcia/WRF4G/repository/apps/WRFbin-3.3.1_r1440INTEL_OMPI_noCLWRF.tar.gz /home/users/magarcia/.gw_magarcia_153/$WORKDIR/wrf4g.20130607110853787803907
tar (child): WRFbin-3.3.1_r1440INTEL_OMPI_noCLWRF.tar.gz: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
./WRF4G.sh: line 113: $WORKDIR/wrf4g.20130607110853787803907/log/ls.wrf: No such file or directory
tar: *: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors
magarcia@obelix3:~$cat ~/WRF4G/.submission/ecdx_mph/ecdx_mph__BCCR/stdout.153
* Fri Jun  7 11:08:54 CEST 2013: Creating WRF4G structure ... 
Caught exception: <type 'exceptions.Exception'>: Error copying file: 256
**********************************************************************************
WRF4G was deployed in ... 
    /home/users/magarcia/.gw_magarcia_153
and it ran in ...
    $WORKDIR/wrf4g.20130607110853787803907
**********************************************************************************
/home/users/magarcia/.gw_magarcia_153/$WORKDIR/wrf4g.20130607110853787803907
Last edited 8 years ago by MarkelGarcia (previous) (diff)

comment:11 Changed 8 years ago by carlos

Esa variable $WORKDIR es correcta? .

Yo he hecho la siguiente prueba en framework4g.conf y me funciona

mycomputer   = local://localhost?LRMS_TYPE=fork;NODECOUNT=1;RUN_DIR=$HOME

comment:12 Changed 8 years ago by MarkelGarcia

La variable $WORKDIR es una variable local del workig node, que se genera cuando entra un job, no está definida en ui de aquí, y su valor depende del host y del job number del PBS. Con el home te está funcionando porque también está definida en el ui, y además con el mismo valor que el en nodo.

Este es justo el problema. Si no tiene solución sencilla puedo preguntarles si puedo correr en el nfs, no creo que les importe, parece que ellos lo hacen. De todas formas sería mejor no hacerlo... aquí hay mucha gente y no quiero romper nada, que me cargo los jobs de 40 personas no es como allí que queda entre amigos : P

comment:13 Changed 8 years ago by MarkelGarcia

Bueno, no te preocupes Carlos, he hablado con Robert y me ha dicho que el no usa el disco local nunca, siempre escribe directamente al nfs, no parece que ellos tengan problemas con esto.

Saludos

Note: See TracTickets for help on using tickets.