wiki:RasdamanQuickInstallCentos7

Version 12 (modified by dmisev, 21 months ago) (diff)

--

(Note: this page is outdated; see wiki:InstallFromSource for the most up-to-date version)

rasdaman quick installation guide for CentOS 7

Note: this page is obsoleted and not maintained; best visit the standard quick installation guide.

Tested on and updated for CentOS 7 64bit with:

  • rasdaman v9.1.0
  • Java 7 (openjdk) and Tomcat 7
  • postgreSQL 9.1

This is a quick guide to install rasdaman on a RPM based Linux system; it has been tested on CentOS 7. It assumes having a Linux user rasdaman under which all installation will be done. Target installation directory is ~rasdaman/install, but this can be changed by adapting $RMANHOME.

Administrative configuration

  1. Log into your system as administrator (or sudoer or root)
  2. Install core required packages (based on the rasdaman RPM package script):
    '''Sample: sudo yum install PACKAGE''' 
    '''NOTE:''' If you have problem with installing libpng12-devel, see 2a below first.
    
    sudo yum install gcc gcc-c++ make autoconf automake bison libtiff-devel hdf-devel libjpeg-devel libedit-devel zlib-devel 
                libpng12-devel netcdf-cxx-devel libpng-devel netpbm-devel openssl-devel flex flex-devel postgresql-devel
                doxygen netcdf-devel gdal-devel gdal-python boost-devel java-1.7.0-openjdk-devel python-setuptools libsqlite-devel
    
    sudo easy_install glob2
    
    1. rasdaman uses libpng12 instead of libpng15, so it is needed to downgrade to libpng12.
      • Check that the system has package libpng12:
        yum list | grep 'libpng12'
        
      • If it has then remove package libpng15
        rpm -e --nodeps 'libpng15-xxxxxx'
        
        and install libpng12
        yum install libpng12-devel libpng12
        
      • However, if you installed libgdal and `make' returns error "libpng15.so" missing, then continue to install libpng15 (with installed libpng12 already before)
        yum install libpng
        
  3. Install web services component (petascope) required packages (might be replaced by version 6 of both if needed):
    sudo yum install openjdk-7-jdk tomcat7
    
  4. Ensure postgreSQL is installed and configured (see also sections below for custom configuration):
    • NOTE: (to be checked) postgis2.0 is required for MultiPoint coverage type support or if you don't use MultiPoint? then don't need to install PostGIS
      sudo yum install postgresql-9.1 postgresql-9.1-postgis
      
  5. Allow rasdaman user to deploy to tomcat7
    sudo adduser rasdaman tomcat7
    
    • NOTE: if you choose a $RMANHOME outside the rasdaman user home you have to create it and change its ownership to the rasdaman user to aviod requiring admin privileges for the user
  6. Add super user in postgres (same name as the local user)
    sudo -u postgres createuser -s rasdaman -P
    
  7. To prevent "java.lang.OutOfMemoryError?: Java heap space error" in the SECORE resolver (java servlet), consider setting a proper maximum heap space for tomcat (>=512MB). Usually this can be done by setting -Xmx512m in JAVA_OPTS in /etc/default/tomcat7

rasdaman setup

  1. Log in to the target system as user rasdaman
    #If already logged in, to get an updated groups membership shell use:
    su - rasdaman
  1. Choose your installation directory (here: /home/rasdaman/install) and further settings (you may want to put these into ~rasdaman/.bashrc for automatic loading upon login; don't forget to reload it first time through source ~rasdaman/.bashrc)
    export RMANHOME=/home/rasdaman/install
    export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/
    export JRE_HOME=$JAVA_HOME/jre
    export CATALINA_HOME=/var/lib/tomcat7
    export PATH=$PATH:$RMANHOME/bin:/usr/lib/postgresql/9.1/bin
    
  1. Get and compile rasdaman, configured to sit locally (!) in ~rasdaman/install
  • Note: the --with-netcdf option is required for advanced testing (see below, you can skip it for a minimal setup and if you don't need that format)
        #Before running "make", make sure java and javac are using the same version:
        java -version
        javac -version
    
git clone git://rasdaman.org/rasdaman.git
cd rasdaman
autoreconf -fi
./configure --prefix=$RMANHOME --with-wardir=$CATALINA_HOME/webapps/ --with-netcdf
make
  1. Install it
    mkdir $RMANHOME
    make install
    
  1. Set your rasdaman user as metadata user in petascope configuration (if you want to use OGC services via petascope component)
  • NOTE: This is a quick hack to avoid more complex postgreSQL configuration to keep distinct login credentials (which is outside the scope of this guide)
     vim $RMANHOME/etc/petascope.properties
     # edit it as follows:
     # metadata_user=rasdaman
     # metadata_pass=***** #(password set in admin step 6)
    
  1. Setup the rasdaman database. Important: By default postgresql keeps the database in /var/lib/postgresql, so at this step you may want to move it to another place.

NOTE: If you could not call binary programs of Rasdaman (for example: rasql, rasdl, rascontrol,... from terminal), then you must add folder to PATH (environment variable)

 Add Rasdaman bin folder to PATH environment: PATH=$PATH:$RMANHOME  
  OR If you want to find where program is or file name: find / -name 'FILE NAME' (example: find / -name 'rasdl')

  In tested system: all binary programs and example (some images to use ''rasdaman_insertdemo.sh'' is inside '/home/rasdaman/install/bin')

NOTE: This script create data named 'RASBASE'. In tested system all datas of RASBASE and inserted examples are inside folder /usr/local/rasdaman/data/

create_db.sh # CREATE DATABASE RASBASE of RASDAMAN
update_db.sh
update_petascopedb.sh #if you want to use OGC services via petascope component
  1. Start the rasdaman server
    start_rasdaman.sh
    
  1. Insert demo data
    rasdaman_insertdemo.sh localhost 7001 $RMANHOME/share/rasdaman/examples/images/ rasadmin rasadmin
    
  1. Check if demo data has been inserted
    rasql -q 'select c from RAS_COLLECTIONNAMES as c' --out string
    

For example, this is success inserted example.

rasql: rasdaman query tool v1.0, rasdaman v9.1.0-g328f731 -- generated on 20.08.2015 10:17:33.
opening database RASBASE at localhost:7001...ok
Executing retrieval query...ok
Query result collection has 4 element(s):
  Result object 1: test
  Result object 2: mr2
  Result object 3: mr
  Result object 4: rgb
  1. If you want a deep checking of the installation, you can run the systemtests
    cd systemtests
    make check