GeoNetwork 4.2.1 exploration notes v3

BUG: what I consider a bug
FEATURE: what I consider a missing feature
TODO: possibilities that need to be explored or decide on

  • General
    • GeoNetwork has some nice localization tools - not that we need it
  • Server
    • If Jetty is not enough, they recommend Tomcat which "provides load balance, fault tolerance and
      other corporate needed stuff."
    • GeoNetwork has its own XML service - see "GeoNetwork Manual.pdf" (Help Link)
    • System configuration
      • configuration can be accessed through the GeoNetwork XML service: xml.config.get and xml.config.update
  • Metadata schema
    • "ISO-19115 (iso19115): GeoNetwork implements an old version of the draft, which uses short names for elements. This is not so standard so this schema is obsolete and will be removed in future releases."
    • "ISO-19139 (iso19139): This is the XML encoding of the ISO 19115:2007 metadata and ISO 19119 service metadata specifications."
    • "Dublin core (dublin-core): This is a simple metadata schema based on a set of elements capable of describing any metadata."
    • "FGDC (fgdc-std): It stands for Federal Geographic Data Committee and it is a metadata schema used in North America."
  • GeoNetwork on Tomcat 5.5, JDK 1.5.0_17, Windows XP
    • BUG? I had more luck with copying the GeoNetwork apps (geonetwork/web/geonetwork, geonetwork/web/geoserver, geonetwork/web/intermap) to Tomcat/webapps than with pointing the Tomcat contexts to the original GeoNetwork install directory. However, I encountered a memory problem
    • Configuration
      • Tomcat context configuration
        • c:\Tomcat5.5\conf\Catalina\localhost\geoserver.xml
          • <Context docBase="/webapps/geoserver"
            privileged="true" antiResourceLocking="false"
            antiJARLocking="false"> </Context>
        • c:\Tomcat5.5\conf\Catalina\localhost\geonetwork.xml
          • <Context docBase="/webapps/geonetwork"
            privileged="true" antiResourceLocking="false"
            antiJARLocking="false"> </Context>
        • c:\Tomcat5.5\conf\Catalina\localhost\intermap.xml
          • <Context docBase="/webapps/intermap"
            privileged="true" antiResourceLocking="false"
            antiJARLocking="false"> </Context>
      • Tomcat memory allocation
        • I ran into out of memory problems
        • Changed initial memory pool from 256 to1024 MB
        • Changed maximum memory pool from 1024 to 1024 MB
      • geonetwork\WEB-INF\config.xml - more GeoNetwork Web app configuration
        • Check all paths that point to the "data" directory and make sure they point to the data folder in the GeoNetwork install directory.
          • Example:
            <uploadDir>../../data/tmp</uploadDir> to
            <uploadDir>../../geonetwork/data/tmp</uploadDir>
            • The path appears to be relative to the web server's root.
          • Example:
            <param value="../../data"
            /> to <param value="c:\\geonetwork\\data" />
            • It looks like an absolute windows path works here. Don't forget to escape the \ with a \.
      • geonetwork\WEB-INF\log4j.cfg - Log4J logging configuration
        • Update the log path to your liking
          • I kept "log4j.appender.jeeves.file = logs/geonetwork.log"  which puts - in my case - the log file into c:\Tomcat5.5\logs
      • geoserver\WEB-INF\web.xml - GeoServer Web app configuration
        • Update the path for <param-name>GEOSERVER_DATA_DIR</param-name> to that of the data directory
          • Example:
            <param-value>../data/geoserver_data</param-value> to
            <param-value>../geonetwork/data/geoserver_data</param-value>
            or
            <param-value>C:\geonetwork\data\geoserver_data</param-value>
            ?
          • The path appears to be relative to Tomcat home
      • intermap\WEB-INF\log4j.cfg - Log4J logging configuration
        • Update the log path to your liking
          • I kept "log4j.appender.jeeves.file = logs/geonetwork.log"  which puts - in my case - the log file into c:\Tomcat5.5\logs
        • Change log level for debuging
          • Change "log4j.logger.jeeves = WARN, jeeves" to "log4j.logger.jeeves = DEBUG, jeeves"
      • C:\geonetwork\data\geoserver_data\services.xml - GeoServer service level configuration
        • It looks like the <logLocation> path works independently of the servlet engine location
        • For debugging purpose, edit Log4J option by pointing to other config files at C:\geonetwork\data\geoserver_data\logs
          • Example:
            change
            <log4jConfigFile>PRODUCTION_LOGGING.properties</log4jConfigFile>
            to
            <log4jConfigFile>VERBOSE_LOGGING.properties</log4jConfigFile>

Comments

Sollution to GeoNetwork/Tomcat OutOfMemoryError

wgrunberg's picture

Simon Pigot came to the rescue and posted the following solution:

Hi Wolfgang,

GeoNetwork on tomcat doesn't need a ridiculous amount of memory! :-) Your error message indicates you need to increase the size of the memory allocated to the permanent generation (seems like you've been increasing general heap space which won't fix this).

Use:

-XX:MaxPermSize=128m

option when you start the service in tomcat.

I think 2.4.1 comes with 128m set by default but that is set in the jetty startup script and you probably haven't got that in your tomcat service startup.

Doing some searches on "PermGen error" should bring descriptions of what the permanent generation is etc.

Cheers,

Simon