Instalación de Sentilo: comandos MongoDB

675 views
Skip to first unread message

esro...@gmail.com

unread,
Jan 22, 2014, 12:15:35 PM1/22/14
to sen...@googlegroups.com
Hola!

Estoy instalando la aplicación Sentilo y cuando trato de hacer la carga de datos necesarios a la base de datos MongoDB desde el archivo init-data.js no me reconoce el comando mongo-u-p que se propone ¿Debería usar mongoimpot? ¿O el comando propuesto debería funcionar?

Muchas gracias de antemano.
Esteban Roman

PD: My english is not good, but if you prefer I can try write in english

esro...@gmail.com

unread,
Jan 22, 2014, 1:08:23 PM1/22/14
to sen...@googlegroups.com
Hola otra vez ..
Después de crear la base de datos sentilo y el usurario sentilo en mongodb ejecuto el comando
mongoimport -db sentilo -u sentilo -p sentilo --host 127.0.0.1 --port 27017 --collection collectionname --file init_data.js

Pero no estoy seguro del nombre que debo poner en el collection y si debo utilizar mongodbimport o el comando que se aconseja en la web.

Gracias otra vez.
Esteban Roman

io.se...@gmail.com

unread,
Jan 23, 2014, 4:51:13 AM1/23/14
to sen...@googlegroups.com
Hola Esteban,

grácias por la pregunta ya que la duda está originada por un error en la documentación que intentaremos corregir lo antes posible.


Para cargar los datos de inicialización de Sentilo en MongoDB se debe ejecutar la sentencia siguiente:

    

 mongo -u sentilo -p sentilo sentilo init_data.js

en vez de la que se comenta erróneamente en la documentación:
  
 mongo -u -p sentilo sentilo sentilo init_data.js


Es decir, la sentencia a ejecutar sigue la siguiente sintáxis:

mongo -u <user> -p <password> <database_name> <path_to_script>

Saludos,

esro...@gmail.com

unread,
Jan 23, 2014, 5:33:22 AM1/23/14
to sen...@googlegroups.com
Muchas gracias!

Probaré esta tarde

Un saludo
Esteban

esro...@gmail.com

unread,
Jan 24, 2014, 4:30:30 PM1/24/14
to sen...@googlegroups.com
Sigo con la instalación de Sentilo. Las herramientas ya las tengo montadas y funcionando (tomcat7, mongoDB, mysql, etc) las bases de datos ya están creadas y las tablas cargadas, he probado que tomcat7 accede bien a mysql con un servlet simple. También he añadido las variables de entorno. Todo esto lo estoy haciendo en un servidor virtual remoto.

Después me he descargado el paquete sentiilo.zip en dicho servidor y lo he descomprimido y ejecutado los pasos de la documentación. Pero tengo algunas dudas
Ejecuto

./scripts/buildSentilo --> ok

Ejecuto

mvn clean install --> ok

El siguiente paso no entiendo bien para que sirve? ya que en la documentación solo pone que se abra el proyecto con Eclipse

mvn eclipse:clean eclipse:eclipse


Después de esto (sin hacer nada con Eclipse)

Ejecuto

mvn clean package --> ok

 
Y despliego el war en tomcat7 y se muestra la app pero en el login
¿que usuario debo incluir?

Después cuando ejecuto el siguiente comando sale el error que copio a continuación.
~/sentilo-master# mvn appassembler:appassembler -P dev
[INFO] Scanning for projects...
[INFO] Reactor build order:
[INFO]   sentilo-parent-pom
[INFO]   sentilo-common
[INFO]   sentilo-platform
[INFO]   sentilo-platform-common
[INFO]   sentilo-platform-service
[INFO]   sentilo-platform-server
[INFO]   sentilo-platform-client-java
[INFO]   sentilo-agent-alarm
[INFO]   sentilo-agent-relational
[INFO]   sentilo-catalog-web
[INFO] Searching repository for plugin with prefix: 'appassembler'.
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Required goal not found: appassembler:appassembler in org.codehaus.mojo:appassembler-maven-plugin:1.7
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1 second
[INFO] Finished at: Fri Jan 24 21:42:18 CET 2014
[INFO] Final Memory: 4M/11M
[INFO] ------------------------------------------------------------------------

¿Alguna sugerencia?

Muchísimas gracias de antemano y perdón por la extensión del correo.

Esteban

esro...@gmail.com

unread,
Jan 27, 2014, 1:40:52 PM1/27/14
to sen...@googlegroups.com
Hola, mirando en los archivos de carga de datos de mongodb he visto que el usuario por defecto y la contraseña. Una vez dentro de la plataforma veo que ya puedo empezar a utilizarla y administrarla.

Del último paso
(Installing the Web Application Catalog) Solo he creado y desplegado la aplicación a la que me he conectado como digo antes, pero los siguientes pasos me siguen dando errores:mvn appassembler:appassembler -P dev

¿Estos pasos son necesarios? ¿O con la aplicación web puedo crear los sensores y ya está operativa para recibir información en formato json?

Muchas gracias
Esteban

io.se...@gmail.com

unread,
Jan 29, 2014, 3:58:47 AM1/29/14
to sen...@googlegroups.com

Hola Esteban,

Tal y como se describe en la documentación, la plataforma Sentilo viene preconfigurada con una serie de propiedades entre las que tenemos, por ejemplo, las siguientes:

  • Todos los servidores están instalados en la misma máquina.
  • Redis debe estar escuchando por el puerto 6379 (puerto por defecto de Redis) y tener activada la autenticación mediante una contraseña (cuyo valor debe ser sentilo)
  • Mongo debe estar escuchando por el puerto 27017, tener definida una base de datos de nombre sentilo  y tener activada la autenticación mediante el uso de las credenciales sentilo/sentilo

En la documentación podemos encontrar una explicación más detallada de este tema.

Una vez comentado esto, para construir los artefactos que integran Sentilo, a partir del código descargado de Github, hay dos opciones:

  • Si a la hora de instalar Sentilo se ha configurado Redis, MongoDB, MySQL y Tomcat de tal manera que se adapten a la preconfiguración de Sentilo, entonces simplemente hay que ejecutar el script buildSentilo.sh. El script genera cada uno de los artefactos que después se deben instalar. Para instalar cada uno de los artefactos construidos, simplemente hay que seguir las indicaciones del apartado Platform Installation obviando la parte que describe como construir los artefactos (comandos Maven  ya que esta parte ya ha sido realizada por el script buildSentilo.sh)
  • Si en cambio hemos modificado algunos de los parámetros predeterminados (puerto de escucha, credenciales, … ) entonces antes de construir el código debemos modificarlo para adaptarlo a las nuevas características de nuestro entorno. Y es aquí donde entra en juego el punto que describe como importar el código de Sentilo dentro de Eclipse. Una vez modificado el código, para construir cada uno de los artefactos se puede o bien ejecutar el script buildSentilo.sh  o bien seguir las indicaciones que se indican en el apartado Platform Installation.
 

Una vez hecha la instalación de cada uno de los componentes, se ha puesto en marcha la plataforma y se ha cargado en MongoDB los datos indicados en los ficheros init_data.js e init_test_data.js, se puede ejecutar el script testServerStatus.sh para validar la instalación.


Saludos

io.se...@gmail.com

unread,
Jan 29, 2014, 4:59:37 AM1/29/14
to sen...@googlegroups.com

Hola de nuevo Esteban,

Sobre el error que comentas al ejecutar el comando:

        mvn appassembler:appassembler -P dev

 

debes tener en cuenta que este comando no puedes ejecutarlo sobre la raíz del proyecto ya que sino estarías intentando aplicar el plugin a cada uno de los módulos que integran Sentilo y no todos tienen definido en su fichero pom.xml la configuración requerida por el plugin.

En el apartado Platform Installation tienes descrito como construir cada uno de los módulos (así como sobre que módulos ejecutar el comando anterior).

Saludos

esro...@gmail.com

unread,
Jan 29, 2014, 12:58:33 PM1/29/14
to sen...@googlegroups.com
Antes de nada muchísimas gracias y perdón por el número de preguntas y por la extensión de las mismas.

Los servicios están todos montados, cuando ejecuto el mvn clean package parece que todo funciona bien como muestro.

mvn clean package
[INFO] Reactor Summary:
[INFO] ------------------------------------------------------------------------
[INFO] sentilo-parent-pom .................................... SUCCESS [2.937s]
[INFO] sentilo-common ........................................ SUCCESS [7.079s]
[INFO] sentilo-platform ...................................... SUCCESS [0.011s]
[INFO] sentilo-platform-common ............................... SUCCESS [0.660s]
[INFO] sentilo-platform-service .............................. SUCCESS [3.690s]
[INFO] sentilo-platform-server ............................... SUCCESS [3.961s]
[INFO] sentilo-platform-client-java .......................... SUCCESS [1.778s]
[INFO] sentilo-agent-alarm ................................... SUCCESS [2.468s]
[INFO] sentilo-agent-relational .............................. SUCCESS [2.405s]
[INFO] sentilo-catalog-web ................................... SUCCESS [7.318s]
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 32 seconds
[INFO] Finished at: Wed Jan 29 17:55:13 CET 2014
[INFO] Final Memory: 39M/97M
[INFO] --------------------------------------

Si hago un test del servidor me muestra lo siguiente:

root@vps27430:~/sentilo-master/scripts# ./testServerStatus.sh
cat: /tmp/servercheck.txt: No such file or directory
rm: cannot remove `/tmp/servercheck.txt': No such file or directory
cat: /tmp/servercheck.txt: No such file or directory
rm: cannot remove `/tmp/servercheck.txt': No such file or directory
cat: /tmp/servercheck.txt: No such file or directory
rm: cannot remove `/tmp/servercheck.txt': No such file or directory
1000
Después despliego la app y todo correcto, puedo acceder a la plataforma y cuando agrego elementos los puedo ver reflejados en consultas directamente en mongodb.

No obstante, el directorio sentilo-platform/sentilo-platform-server/target/appassembler no existe y cuando trato de instalar una subscription/publication me genera el siguiente error:

root@vps27430:~/sentilo-master/sentilo-platform/sentilo-platform-server# mvn appassembler:appassembler -P dev
[INFO] Scanning for projects...

[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Required goal not found: appassembler:appassembler in org.codehaus.mojo:appassembler-maven-plugin:1.3

Y su aplico otro test sale el siguiente error:
root@vps27430:~/sentilo-master/sentilo-platform-client-java# mvn -Dtest=org.sentilo.platform.client.integration.Catalog* test

                                 ** (Por cierto en la documentación el directorio que indica es sentilo-platform-java-client y en realidad es client-java)
Tests in error:
  doRegisterUpdateGetAndDelete(org.sentilo.platform.client.integration.CatalogServiceOperationsIntegrationTest): Error while executing http call: PUT http://127.0.0.1:8081/catalog/testApp_provider?method=delete HTTP/1.1 ; nested exception is org.apache.http.conn.HttpHostConnectException: Connection to http://127.0.0.1:8081 refused; nested exception is org.sentilo.common.exception.RESTClientException: Error while executing http call: PUT http://127.0.0.1:8081/catalog/testApp_provider?method=delete HTTP/1.1 ; nested exception is org.apache.http.conn.HttpHostConnectException: Connection to http://127.0.0.1:8081 refused

Realmente lo único que me interesa es enviar datos desde un sensor en un móvil y almacenarlos en la plataforma por que seguramente que las subscription/publication y alert no me hagan falta? Lo que debería funcionar es el test desde el cliente. Si realizo un netstat de los puertos a la escucha aparecen todos los mencionados en la documentación menos el 8081. Alguna sugerencia de como seguir.

Os quedo muy agradecido por la atención recibida.
Un saludo
Esteban

io.se...@gmail.com

unread,
Feb 10, 2014, 12:26:12 PM2/10/14
to sen...@googlegroups.com
Hola Esteban,

como te hemos comentado en el mensaje del otro hilo, los problemas están originados por el hecho de que no tienes instalada al 100% la plataforma Sentilo. Y para poder conseguir llevar a cabo esta instalación necesitas primero poder ejecutar el comando:


   mvn appassembler:appassembler -P dev

Eso si, para no abrir hilos que tratan de lo mismo, y de esta manera facilitar la lectura y seguimiento del tema, damos por cerrado este hilo y continuamos el soporte en el otro hilo que has abierto.

Reply all
Reply to author
Forward
0 new messages