Buenas tardes, hace como 5 o 6 dias me puse a la tarea de instalar
geonetwork ya que tengo en mi pc instalado geoserver, postgresql/postgis y
qgis, y queria aprender acerca de los metadatos, pero cuando lo instala
mediante el archivo geonetwork.war en la panatalla de inicio me sale el
siguiente error:
*Error* Raised exception while initializing resource main-db in
/var/lib/tomcat6/webapps/geonetwork/WEB-INF/config.xml. Skipped.
*Exception* org.apache.commons.dbcp.SQLNestedException:
Cannot create PoolableConnectionFactory (IO Exception:
"java.io.FileNotFoundException: /var/lib/tomcat6/geonetwork.lock.db
(Permiso denegado)"; "/var/lib/tomcat6/geonetwork.lock.db" IO Exception:
"java.io.FileNotFoundException: /var/lib/tomcat6/geonetwork.lock.db
(Permiso denegado)"; "/var/lib/tomcat6/geonetwork.lock.db" [90031-152])
*Resource* main-db *Message* Cannot create PoolableConnectionFactory (IO
Exception: "java.io.FileNotFoundException:
/var/lib/tomcat6/geonetwork.lock.db (Permiso denegado)";
"/var/lib/tomcat6/geonetwork.lock.db" IO Exception:
"java.io.FileNotFoundException: /var/lib/tomcat6/geonetwork.lock.db
(Permiso denegado)"; "/var/lib/tomcat6/geonetwork.lock.db" [90031-152])
*Provider* jeeves.resources.dbms.ApacheDBCPool *Stack*
org.apache.commons.dbcp.SQLNestedException:
Cannot create PoolableConnectionFactory (IO Exception:
"java.io.FileNotFoundException: /var/lib/tomcat6/geonetwork.lock.db
(Permiso denegado)"; "/var/lib/tomcat6/geonetwork.lock.db" IO Exception:
"java.io.FileNotFoundException: /var/lib/tomcat6/geonetwork.lock.db
(Permiso denegado)"; "/var/lib/tomcat6/geonetwork.lock.db" [90031-152]) at
org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
at
org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
at
org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
at jeeves.resources.dbms.Dbms.connect(Dbms.java:89) at
jeeves.resources.dbms.AbstractDbmsPool.open(AbstractDbmsPool.java:142) at
jeeves.server.JeevesEngine.initResources(JeevesEngine.java:528) at
jeeves.server.JeevesEngine.loadConfigFile(JeevesEngine.java:335) at
jeeves.server.JeevesEngine.init(JeevesEngine.java:192) at
jeeves.server.sources.http.JeevesServlet.init(JeevesServlet.java:91) at
javax.servlet.GenericServlet.init(GenericServlet.java:212) at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1206)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1026)
at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4421)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4734)
at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601) at
org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:943) at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:563) at
org.apache.catalina.startup.HostConfig.check(HostConfig.java:1399) at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606) at
org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
at
org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1500)
at
org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:252)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:193)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:744) Caused by:
org.h2.jdbc.JdbcSQLException: IO Exception: "java.io.FileNotFoundException:
/var/lib/tomcat6/geonetwork.lock.db (Permiso denegado)";
"/var/lib/tomcat6/geonetwork.lock.db" IO Exception:
"java.io.FileNotFoundException: /var/lib/tomcat6/geonetwork.lock.db
(Permiso denegado)"; "/var/lib/tomcat6/geonetwork.lock.db" [90031-152] at
org.h2.message.DbException.getJdbcSQLException(DbException.java:327) at
org.h2.message.DbException.get(DbException.java:156) at
org.h2.message.DbException.convertIOException(DbException.java:313) at
org.h2.store.fs.FileSystemDisk.openFileOutputStream(FileSystemDisk.java:382)
at org.h2.store.FileLock.save(FileLock.java:203) at
org.h2.store.FileLock.lockFile(FileLock.java:335) at
org.h2.store.FileLock.lock(FileLock.java:134) at
org.h2.engine.Database.open(Database.java:535) at
org.h2.engine.Database.openDatabase(Database.java:218) at
org.h2.engine.Database.<init>(Database.java:213) at
org.h2.engine.Engine.openSession(Engine.java:56) at
org.h2.engine.Engine.openSession(Engine.java:159) at
org.h2.engine.Engine.createSessionAndValidate(Engine.java:138) at
org.h2.engine.Engine.createSession(Engine.java:121) at
org.h2.engine.Engine.createSession(Engine.java:28) at
org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:285)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:114) at
org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:98) at
org.h2.Driver.connect(Driver.java:72) at
org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
at
org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
at
org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
at
org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)
... 46 more Caused by: java.io.FileNotFoundException:
/var/lib/tomcat6/geonetwork.lock.db (Permiso denegado) at
java.io.FileOutputStream.open(Native Method) at
java.io.FileOutputStream.<init>(FileOutputStream.java:221) at
java.io.FileOutputStream.<init>(FileOutputStream.java:142) at
org.h2.store.fs.FileSystemDisk.openFileOutputStream(FileSystemDisk.java:374)
... 65 more
Busque en la red maneras de solucionar esto y me encontre con:
http://gis.stackexchange.com/questions/53478/geonetwork-install-issues
Ese mismo procedimiento lo encontre en una pagina en español y que ahora
mismo no encuentro el link, pero decia básicamente que hay q darle permisos
al directorio .geonetwork para poder escribir dentro:
" First, make sure your tomcat user's home directory is writable:
sudo chgrp tomcat7 /usr/share/tomcat7
sudo chmod g+w /usr/share/tomcat7
Then edit WEB-INF/config.xml in Geonetwork, and change the H2 url around
line 153 from this:
<url>jdbc:h2:geonetwork;LOCK_TIMEOUT=20000;MVCC=TRUE</url>
to this:
<url>jdbc:h2:~/.geonetwork/geonetwork;LOCK_TIMEOUT=20000;MVCC=TRUE</url>
When you restart Tomcat Geonetwork should start without issue, and you can
see the H2 db files under /usr/share/tomcat7/.geonetwork. "
Pero dicho procedimiento no da resultados. se queda cargando por un rato y
no pasa nada, me tira un error de este tipo:
Estado HTTP 500 -
------------------------------
*type* Informe de Excepción
*mensaje*
*descripción* *El servidor encontró un error interno () que hizo que no
pudiera rellenar este requerimiento.*
*excepción*
javax.servlet.ServletException: La ejecución del Servlet lanzó una excepción
org.fao.geonet.monitor.webapp.WebappMetricsFilter.doFilter(WebappMetricsFilter.java:96)
org.fao.geonet.monitor.webapp.MetricsRegistryInitializerFilter.doFilter(MetricsRegistryInitializerFilter.java:31)
org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:381)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:322)
jeeves.config.springutil.GeonetworkFilterSecurityInterceptor.invoke(GeonetworkFilterSecurityInterceptor.java:46)
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
jeeves.config.springutil.GeonetworkFilterSecurityInterceptor.invoke(GeonetworkFilterSecurityInterceptor.java:46)
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
org.fao.geonet.kernel.security.PassthroughFilter.doFilter(PassthroughFilter.java:26)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:184)
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:155)
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
*causa raíz*
java.lang.OutOfMemoryError: Java heap space
*nota* *La traza completa de la causa de este error se encuentra en los
archivos de diario de Apache Tomcat/6.0.35. <http://6.0.35.>*
------------------------------
Apache Tomcat/6.0.35
Igual pasa cuando aplico esta configuración:
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- postgresql -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<resource enabled="true">
<name>main-db</name>
<provider>jeeves.resources.dbms.ApacheDBCPool</provider>
<config>
<user>postgres</user>
<password>12345</password>
<!-- we use org.postgis.DriverWrapper in place of
org.postgresql.Driver to support both postgresql and postgis -->
<driver>org.postgresql.Driver</driver>
<!--
jdbc:postgresql:database
jdbc:postgresql://host/database
jdbc:postgresql://host:port/database
or if you are using postgis and want the spatial index loaded
into postgis
jdbc:postgresql_postGIS://host:port/database
-->
<url>jdbc:postgresql://localhost:5432/geonetwork</url>
<poolSize>10</poolSize>
<validationQuery>SELECT 1</validationQuery>
</config>
</resource>
Tambien instale el tomcat 7 para ver si habia cambios pero sigue igual,
instale el libpostgresql-jdbc-java pensando que por eso no me iniciaba
cuando estaba configurado para iniciar con la base de datos, cabe destacar
que si me carga 34 tablas en la base de datos geonetwork que hice en
postgre.
Me lei todos los correos de esta lista de 2014 y 2013 para ver si alguien
habia hecho la misma pregunta pero nadie (al menos yo no vi) la hizo.
Si alguien conoce como solucionar este problema le agradezco su ayuda.
Estoy usando Debian xfce 7.5.