Giter Site home page Giter Site logo

docker-geoserver's Introduction

Docker Geoserver

This project is essentially a fork of: https://github.com/kartoza/docker-geoserver Much thanks to the Kartoza org for setting this up.

This project adds a little more on top of that container to better suite our needs. We have added a docker solution using docker-compose that adds HTTPs to the deployment. We are also planning to add the ability to synce to an S3 bucket using Basic Auth.

Other configurations:

Check out the branch geoexplorer to use geoserver with the geoexplorer plugin.

docker-geoserver's People

Contributors

alexgleith avatar daf avatar goldpbear avatar mathieu-pousse avatar modulitos avatar peterataylor avatar seifer08ms avatar srstsavage avatar timlinux avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

goldpbear

docker-geoserver's Issues

Load balance our geoserver

Hopefully #6 is helping with our geoserver memory issues (there have been no new AWS alarms, so that seems good at least).

I think an even more robust setup would have at least two production geoservers working together behind a load balancer. I'm imagining both geoservers would completely mirror each other, and would sync from the S3 geodata bucket.

I'm not sure how high on the priority list this should be. Maybe the memory upgrade via #6 is enough for the time being. On the other hand, we are hosting a lot of complex WMS data at this point.

ContainerBackgroundProcessor[StandardEngine[Catalina]] exception: java.lang.OutOfMemoryError: GC overhead limit exceeded

We are getting an error that is causing Geoserver to be unresponsive:

[me]/home$ curl -I "https://geoserver.mapseed.org/geoserver/madrid/wms?&SERVICE=WMS&REQUEST=GetMap&VERSION=1.3.0&LAYERS=madrid_bike_lanes&STYLES=&FORMAT=image%2Fpng&TRANSPARENT=true&HEIGHT=256&WIDTH=256&FILLCOLOR=undefined&WEIGHT=undefined&FILLOPACITY=undefined&CRS=EPSG%3A3857&BBOX=-420709.40368161007,4921321.629112788,-415817.4338713588,4926213.598923039"
HTTP/2 504
content-type: text/html
content-length: 669
server: CloudFront
date: Thu, 16 Nov 2017 20:47:43 GMT
x-cache: Error from cloudfront
via: 1.1 f188ead5b3846af391f02eedab2df3f7.cloudfront.net (CloudFront)
x-amz-cf-id: OiS7b_PmvxwqZMQzdKk8cicOlDY6FtSscmvvfeRsVfnogWys5FcJVw==


The CPU spikes to >90% utilization as well. here is the error on the server:

docker-geoserver$ docker logs production_geoserver_1
 16-Nov-2017 17:24:27.695 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version:        Apache Tomcat/8.0.46
 16-Nov-2017 17:24:27.697 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Aug 10 2017 10:10:31 UTC
 16-Nov-2017 17:24:27.697 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number:         8.0.46.0
 16-Nov-2017 17:24:27.697 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux
 16-Nov-2017 17:24:27.697 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            4.4.0-1037-aws
 16-Nov-2017 17:24:27.697 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
 16-Nov-2017 17:24:27.697 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             /usr/lib/jvm/java-7-openjdk-amd64/jre
 16-Nov-2017 17:24:27.697 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           1.7.0_151-b01
 16-Nov-2017 17:24:27.697 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Oracle Corporation
 16-Nov-2017 17:24:27.698 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         /usr/local/tomcat
 16-Nov-2017 17:24:27.698 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         /usr/local/tomcat
 16-Nov-2017 17:24:27.698 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties
 16-Nov-2017 17:24:27.698 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
 16-Nov-2017 17:24:27.698 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
 16-Nov-2017 17:24:27.698 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
 16-Nov-2017 17:24:27.698 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.endorsed.dirs=/usr/local/tomcat/endorsed
 16-Nov-2017 17:24:27.699 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/usr/local/tomcat
 16-Nov-2017 17:24:27.699 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/usr/local/tomcat
 16-Nov-2017 17:24:27.699 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/usr/local/tomcat/temp
 16-Nov-2017 17:24:27.699 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library 1.2.12 using APR version 1.5.1.
 16-Nov-2017 17:24:27.699 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
 16-Nov-2017 17:24:27.702 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized (OpenSSL 1.1.0f  25 May 2017)
 16-Nov-2017 17:24:27.799 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-apr-8080"]
 16-Nov-2017 17:24:27.810 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-apr-8009"]
 16-Nov-2017 17:24:27.812 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 1031 ms
 16-Nov-2017 17:24:27.839 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina
 16-Nov-2017 17:24:27.839 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.46
 16-Nov-2017 17:24:27.860 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat/webapps/geoserver
 16-Nov-2017 17:24:37.462 INFO [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
 16 Nov 17:24:38 DEBUG [geoserver.global] - Found Java environment variable GEOSERVER_DATA_DIR to be unset
 16 Nov 17:24:38 DEBUG [geoserver.global] - Found Servlet context parameter GEOSERVER_DATA_DIR to be unset
 16-Nov-2017 17:24:38.520 WARNING [localhost-startStop-1] org.geoserver.platform.GeoServerExtensions.checkContext Extension lookup 'XStreamPersisterInitializer', but ApplicationContext is unset.
 16-Nov-2017 17:24:38.521 WARNING [localhost-startStop-1] org.geoserver.platform.GeoServerExtensions.checkContext Extension lookup 'ExtensionFilter', but ApplicationContext is unset.
 16-Nov-2017 17:24:38.523 WARNING [localhost-startStop-1] org.geoserver.platform.GeoServerExtensions.checkContext Extension lookup 'ExtensionProvider', but ApplicationContext is unset.
 16-Nov-2017 17:24:38.523 WARNING [localhost-startStop-1] org.geoserver.platform.GeoServerExtensions.checkContext Extension lookup 'ExtensionFilter', but ApplicationContext is unset.
 log4j:WARN File option not set for appender [geoserverlogfile].
 log4j:WARN Are you using FileAppender instead of ConsoleAppender?
 16-Nov-2017 17:24:40.228 WARNING [localhost-startStop-1] org.geoserver.platform.GeoServerExtensions.checkContext Extension lookup 'GeoServerSecurityProvider', but ApplicationContext is unset.
 16-Nov-2017 17:24:40.229 WARNING [localhost-startStop-1] org.geoserver.platform.GeoServerExtensions.checkContext Extension lookup 'ExtensionFilter', but ApplicationContext is unset.
 16-Nov-2017 17:24:40.229 WARNING [localhost-startStop-1] org.geoserver.platform.GeoServerExtensions.checkContext Extension lookup 'ExtensionProvider', but ApplicationContext is unset.
 16-Nov-2017 17:24:40.229 WARNING [localhost-startStop-1] org.geoserver.platform.GeoServerExtensions.checkContext Extension lookup 'ExtensionFilter', but ApplicationContext is unset.
 16-Nov-2017 17:24:53.513 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/local/tomcat/webapps/geoserver has finished in 25,653 ms
 16-Nov-2017 17:24:53.513 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat/webapps/ROOT
 16-Nov-2017 17:24:53.544 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/local/tomcat/webapps/ROOT has finished in 31 ms
 16-Nov-2017 17:24:53.545 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat/webapps/examples
 16-Nov-2017 17:24:53.748 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/local/tomcat/webapps/examples has finished in 203 ms
 16-Nov-2017 17:24:53.748 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat/webapps/manager
 16-Nov-2017 17:24:53.783 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/local/tomcat/webapps/manager has finished in 35 ms
 16-Nov-2017 17:24:53.783 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat/webapps/docs
 16-Nov-2017 17:24:53.807 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/local/tomcat/webapps/docs has finished in 24 ms
 16-Nov-2017 17:24:53.807 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat/webapps/host-manager
 16-Nov-2017 17:24:53.837 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/local/tomcat/webapps/host-manager has finished in 30 ms
 16-Nov-2017 17:24:53.858 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-apr-8080"]
 16-Nov-2017 17:24:53.992 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-apr-8009"]
 16-Nov-2017 17:24:54.017 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 26204 ms

 Exception in thread "http-apr-8080-exec-202" java.lang.OutOfMemoryError: GC overhead limit exceeded
 Exception in thread "AsyncFileHandlerWriter-667710923" java.lang.OutOfMemoryError: GC overhead limit exceeded

 16-Nov-2017 20:45:02.074 SEVERE [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run Unexpected death of background thread ContainerBackgroundProcessor[StandardEngine[Catalina]]
  java.lang.OutOfMemoryError: GC overhead limit exceeded

  Exception in thread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" java.lang.OutOfMemoryError: GC overhead limit exceeded

I'm not sure how to reproduce the error. Restarting the server seems to bring back Geoserver in a working condition, but it seems to be just a matter of time until the error happens again.

Allow WMS raster requests originating from WebGL clients

It turns out that mapping clients which use WebGL (such as Mapbox-gl.js) need cross-origin permissions from the server to load imagery over WMS. Apparently this is because WebGL requires access to raw image data, whereas regular WMS clients just load images via <img /> tags, which don't need cross-origin permissions. There's a short discussion of this issue here: https://gist.github.com/Sumbera/ba554bb5cc8dfe4d7866

To prep for use of the Mapbox-gl.js client, we should enable cross-origin permissions on Geoserver. This looks straightforward: http://suite.opengeo.org/docs/latest/sysadmin/cors/index.html

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.