wiki:FMEInstall

Version 6 (modified by joshuadf, 6 years ago) (diff)

--

Weekly Rebuild

There is a automatic weekly rebuild of the FME that runs as a cron job. If the FMA database gets a cycle in it, it will completely fail to build. You can tell by looking on deltoid in the log file /var/log/tomcat6/catalina.out. The FME takes about 11 minutes to build its tree whenever Tomcat starts, such as after a server reboot or FME rebuild. If you ever need to run it manually, log into deltoid and do:

su - fmeuser
# you may need to edit the script to choose a different FMA db dump file
./rebuild-fme.sh

A working rebuild looks something like this in catalina.out:

Tue Oct 11 15:04:50 PDT 2011
projectFile = file:/home/fmeuser/catalina_base/webapps/FME/WEB-INF/classes/fmInterface/FME.pprj
CONFIG: Protege 3.0 Build 141, JVM 1.6.0_26-b03, memory=954M, Linux, encoding=UTF-8, language=en, country=US
WARNING: Look and feel not found: com.jgoodies.plaf.plastic.PlasticLookAndFeel -- SystemUtilities.loadLookAndFeel()
WARNING: Plugins directory not found: "/home/fmeuser/catalina_base/"/plugins -- PluginUtilities.getPluginsDir()
SEVERE: non-existent slot: tabbed_instance_form_layout -- Parser.recordError()
SEVERE: non-existent slot: undo_enabled -- Parser.recordError()
WARNING: unable to load frame -- PropertyMapUtil.getFrame(fm_live_03381)
knowledge base loaded
preparing to read file file:/home/fmeuser/catalina_base/webapps/FME/WEB-INF/classes/fmInterface/FMEconfig.xml
config info:
treeRels = [part, systemic part, regional part, constitutional part, branch, tributary]
relNames = [preferred name, synonym, non-english equivalent, fmaid, homonym for, outdated term, definition, bounded by, bounds, member of, member, part, part of, general part, general part of, attributed 
part, branch of, branch, tributary of, tributary, adjacency, orientation, continuous with, attributed continuous with, contained in, contains, arterial supply of, arterial supply, venous supply of, venous
 supply, venous drainage of, venous drainage, nerve supply of, nerve supply, lymphatic drainage of, lymphatic drainage, attaches to, receives attachment, has dimension, has mass, has boundary, has inheren
t 3-d shape, receives drainage from, drains into, projects to, has projection, projects from, receives projection, afferent to, efferent to, articulates with]
attrMap = {non-english equivalent=[name, language], preferred name=[name], synonym=[name]}
init...Forest Builder init
init...Build All Forests
# of roots for systemic part = 138
# of roots for branch = 312
# of roots for constitutional part = 3322
# of roots for tributary = 31
# of roots for part = 1955
# of roots for regional part = 2456
building a forest
building a forest
building a forest
building a forest
building a forest
building a forest
init...Done
3
FINSHED
FME context initialized
Tue Oct 11 15:14:57 PDT 2011

To install the FME:

On DELTOID:

MySQL

  • create the fms user and password
  • grant access to the FME database for fms
  • import the FMA into the FME database
    yum -y install mysql-server
    chkconfig mysqld on
    # set up root pass and .my.cnf
    mysql -u root mysql -e 'CREATE DATABASE FME;'
    mysql -u root mysql -e "GRANT ALL PRIVILEGES ON FME.* TO fms@localhost;"
    mysql -u root mysql -e "GRANT ALL PRIVILEGES ON FME.* TO fms@'%';"
    mysql FME -u root < /usr/local/data/data13/Protege-backups/fma_p2.dump
    # also install java, etc.
    yum -y install java-1.6.0-sun-devel ant
    

Tomcat

Due to the protege jar, the FME requires the Java Security Manager with a custom catalina.policy :

rsync -az /etc/tomcat6/catalina.policy /etc/tomcat6/catalina.policy.orig
cat <<EOF >> /etc/tomcat6/catalina.policy 

grant codeBase "file:\${catalina.home}/webapps/FME/WEB-INF/-" {
   permission  java.lang.RuntimePermission "*", "read";
   permission  java.util.PropertyPermission "*", "read";
   permission  java.util.logging.LoggingPermission "control", "";
};
EOF

rsync -az /etc/sysconfig/tomcat6 /etc/sysconfig/tomcat6.orig
cat <<EOF > /etc/sysconfig/tomcat6
SECURITY_MANAGER="true"
CATALINA_OPTS=-Djava.security.debug=failure
EOF