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
- If Jetty is not enough, they recommend Tomcat which "provides
load balance, fault tolerance and
- 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
- Read instructions - NOTE these instructions may not be valid with this version of GeoNetwork
- 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
- http://n2.nabble.com/GeoNetwork-2-4-1-OutOfMemoryError-on-Tomcat-5-5-JDK-1-5-0-17-1024MB-max-memory-pool-td3790814.html#a3790814
- While waiting for feedback, I'll update my Tomcat and JDK to the latest. Some people reported success with newer Tomcat and JDK and one even suggested updating GeoServer to the latest version ...
- I am a bit confused about this but some old GeoNetwork post mentioned needing the latest version of Java JAI (Java Advanced Imaging API - http://java.sun.com/products/java-media/jai/current.html) installed in the JDK too.
- 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>
- c:\Tomcat5.5\conf\Catalina\localhost\geoserver.xml
- 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 \.
- Example:
- Check all paths that point to the "data" directory and make
sure they point to the data folder in the GeoNetwork install directory.
- 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
- Update the log path to your liking
- 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
- Example:
- Update the path for
<param-name>GEOSERVER_DATA_DIR</param-name> to that of the
data directory
- 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"
- Update the log path to your liking
- 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>
- Example:
- Tomcat context configuration
Groups:
- Login to post comments
Comments
Sollution to GeoNetwork/Tomcat OutOfMemoryError
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