Más

La siembra de GeoServer GeoWebCache muere prematuramente

La siembra de GeoServer GeoWebCache muere prematuramente


Estoy usando GeoServer 2.6 Final War File en Tomcat. Estoy preparando GeoWebCache y estoy intentando sembrar una tabla de Oracle que tiene aproximadamente 600.000 registros. (Usé el proveedor de Oracle NG para crear la fuente de datos).
Selecciono las siguientes opciones de GeoServer en

"Capas de mosaico" >> "Semilla / Truncar" para esa capa:
  • Número de tareas a utilizar: 01
  • Tipo de operación: Semilla - generar mosaicos faltantes
  • Conjunto de cuadrículas: EPSG: 2236
  • Formato: imagen / png
  • Inicio del zoom: 00
  • Parada de zoom: 18

Luego hago clic en Entregar y vea lo siguiente:

Id | Capa | Estado | Tipo | Número estimado de mosaicos | Mosaicos completados | Tiempo transcurrido | Tiempo restante | Tareas 49 | sf: MV0_1 | RUNNING | SEED | 2,857,446 | -1 | Estimando… | Estimando… | (Tarea 1 de 1)

Luego hago clic en "Actualizar lista"y en unos 10 segundos ya no está allí ... Estaba tratando de buscar en la carpeta de registros y no encontré ningún inicio de sesión:

C: Archivos de programa Apache Software Foundation Tomcat 8.0 logs

que es donde está instalado GeoServer.

¿Por qué no funciona la siembra?


Aquí está el cuadrícula 2236 definido engeowebcache.xml:

 EPSG: 2236 2236   306826.6397 36279.6630 982215.8007 2363339.4629  8192 4096 2048 1024 512 256 128 64 32 16 8 4 2 1 0.5 0.25 0.125 0.0625 0.03125 0.3048 256 256

Responder una pregunta de los comentarios:

"¿La vista previa del GWC integrado le muestra mapas?"

Hago clic en "Capas de azulejos", Luego seleccione"EPSG: 2236 / png"para obtener una vista previa del mosaico en caché. Obtengo algunos mosaicos que se muestran. (Solo los generados antes de que el proceso muera como se mencionó anteriormente)


Respondiendo a otra pregunta de los comentarios:

"Debe asegurarse de que su Gridset en GeoWebCache coincida con lo que ha configurado en la Capa en GeoServer."

Sí, la capa coincide con el conjunto de cuadrículas en GeoWebCache:

Datos >> Capas >> Editar capa >> Almacenamiento en caché de teselas >> Conjuntos de cuadrículas disponibles

Un artículo muestra:

Gridsets disponibles Gridset: EPSG: 2236 Niveles de zoom publicados: mín. / Máx. Niveles de zoom en caché: mín. / Máx. Límites de subconjuntos de cuadrícula: Dinámico

También bajo"Almacenamiento en caché de teselas" >> "Valores predeterminados de almacenamiento en caché" >> Gridsets en caché predeterminados, Sólo tengo:

Gridset: EPSG: 2236 CRS: EPSG: 2236 Dimensiones del mosaico: 256 x 256 Niveles de zoom: 19 Uso del disco: 465,63 MB

También bajo"Almacenamiento en caché de teselas" >> "Cuota de disco", la cuota de disco está habilitada y configurada en 1.953 GB.


Responder una pregunta de los comentarios:

"¿Tiene permiso de escritura para la carpeta de registro?"

Sí, se están actualizando otros datos de registro en esa carpeta, como:

C: Archivos de programa Apache Software Foundation Tomcat 8.0 logs

localhost * .log catalina * .log, etc.

Responder una pregunta de los comentarios:

"¿Examinar la carpeta y ver si las imágenes están almacenadas? Recuerdo que Geoserver no pudo leer el tamaño de mi carpeta una vez, así que no pensé que las imágenes estuvieran almacenadas en caché, pero estaban allí cuando busqué el directorio. Quizás esto sea similar ? "

Sí, hay algunas imágenes, tal vez algunas, que se crean justo antes de que mueran las tareas iniciales. Están en el

C: Archivos de programa Apache Software Foundation Tomcat8.0 webapps geoserver data gwc

carpeta en subcarpetas.


También quiero mencionar que hay otra tabla espacial de Oracle (configurada bajo otra capa) con el mismo diseño pero con solo 1300 registros y ese se completa normalmente.


Encontré el error en geoserver.log que hace que gwc se detenga:

org.geoserver.platform.ServiceException: esta solicitud utilizó más tiempo del permitido y se detuvo a la fuerza. El tiempo máximo de renderizado es de 60,0 s


Encontré la respuesta al problema, aunque no hay una solución disponible. Es un error conocido donde GeoWebCache se detiene con fuerza. Parece que no hay una solución actual para el error # GEOS-6278:

https://osgeo-org.atlassian.net/browse/GEOS-6278

Si hay una solución disponible en el futuro para GeoWebCache, actualizaré esta publicación.


Sé que este es un hilo antiguo, pero probablemente pueda ayudar a otros que lleguen hasta aquí. Una razón más por la que GWC muere prematuramente (o no muestra ningún estado al hacer clic en actualizar) es cuando tiene seguridad de nivel de datos o roles de usuario o seguridad de nivel de servicio. Deshabilitarlos funcionó como un encanto para nosotros y los habilitamos nuevamente después de un almacenamiento en caché suficiente. Estamos ejecutando GeoServer Versión 2.13.1 y GeoWebCache Versión 1.13.1.


Con referencia al error de GWC: https://osgeo-org.atlassian.net/browse/GEOS-6278

Según la información que se encuentra en el sitio web de Boundless, hay 3 parámetros que se pueden configurar para controlar Tolerancia a la falla de semillas:

  • GWC_SEED_RETRY_COUNT: especifica cuántas veces reintentar una solicitud fallida para cada mosaico que se está sembrando. Use 0 para no reintentar, o cualquier número mayor. El valor predeterminado es 0, lo que significa que no se realizan reintentos. También significa que los valores predeterminados de las otras dos variables no se aplican al menos si especifica un valor más alto para GWC_SEED_RETRY_COUNT.
  • GWC_SEED_RETRY_WAIT: especifica cuánto esperar antes de cada reintento ante una falla en la inicialización de un mosaico, en milisegundos. El valor predeterminado es 100 ms
  • GWC_SEED_ABORT_LIMIT: especifica el número agregado de fallas que debe alcanzar un grupo de subprocesos de siembra antes de abortar la operación de siembra en su totalidad. Este valor es compartido por todos los subprocesos lanzados como un solo grupo de subprocesos; por lo que si el valor es 10 y lanza una tarea de inicialización con cuatro subprocesos, cuando todos o cualquiera de esos cuatro subprocesos alcancen 10 fallas, los cuatro subprocesos abortarán la tarea de inicialización. El valor predeterminado es 1000.

Estas variables de entorno se pueden configurar de varias formas:

  • Como variable de entorno Java: por ejemplo, java -DGWC_SEED_RETRY_COUNT = 5…
  • Como parámetro de contexto de Servlet en el archivo de configuración WEB-INF / web.xml de la aplicación web. por ejemplo:
  GWC_SEED_RETRY_WAIT 500
  • Como variable de entorno del sistema: exportar GWC_SEED_ABORT_LIMIT = 2000; (o para Tomcat, use CATALINA_OPTS de Tomcat en bin / catalina.sh de Tomcat como este: CATALINA_OPTS = ”GWC_SEED_ABORT_LIMIT = 2000 GWC_SEED_RETRY_COUNT = 2

Porque el valor predeterminado para GWC_SEED_RETRY_COUNT es 0, el hilo de siembra muere si encuentra algún error como elTiempo máximo de renderizadoque describe arriba.

Establecí con éxito este parámetro en un número grande y ahora la siembra se completa como se esperaba.


Eche un vistazo a estas Consideraciones sobre la JVM de la documentación de GeoServer.

Las opciones se pueden editar en el archivo "startup.bat" ubicado en (C: GeoServer_Installation_Folder bin).


Probablemente ya encontré esto ... pero en caso de que alguien más vea la publicación ... Asegúrese de establecer el tiempo de espera global de WMS en algo mayor a 60 segundos (predeterminado). GWC solicita los mosaicos del servicio WMS, que debe tener tiempo suficiente para convertir sus datos en una imagen.


Ver el vídeo: GeoWebCache By M Awwad