Opened 9 years ago
Last modified 9 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 9 years ago by antonio
comment:2 Changed 9 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 9 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 9 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 9 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 9 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?
comment:7 Changed 9 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 9 years ago by MarkelGarcia
Vaya, he escrito como anónimo, no sabía que esto se podía hacer...
comment:9 Changed 9 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 9 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
comment:11 Changed 9 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 9 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 9 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
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
y
o