Ophidia I/O Server Installation

This page presents the procedure to install, setup and start the Ophidia I/O Server from sources and binary packages.

Note

Before proceeding with the following steps, check that you have the required pre-requisites installed. In particular system developmente libraries, as well as MySQL server and MySQL devel libraries are required. Additionally, make sure the Ophidia Primitives source code or binary package is already installed on the system where the I/O server is going to be setup.

Preliminary dependencies

NetCDF C Library

To fully take advantage of the I/O server features, netCDF library with parallel I/O support is required. Package versions listed in this section are recommanded, but more recent version of surce codes should be adequate.

CentOS7

You can install the parallel-enabled packages directly from yum:

sudo yum install hdf5-devel hdf5-mpich-devel
sudo yum install netcdf-devel netcdf-mpich-devel

Ubuntu 18

First install HDF5 libraries from apt:

sudo apt-get install libhdf5-mpich-dev libhdf5-dev

then download netcdf-4.4.0 from http://www.unidata.ucar.edu/downloads/netcdf/index.jsp and install it in the path /usr/local/ophidia/extra using the following configuration

tar -xzf netcdf-4.4.0.tar.gz
cd netcdf-4.4.0
CC=/usr/bin/mpicc CPPFLAGS="-I/usr/include/hdf5/mpich/" LDFLAGS="-L/usr/lib/x86_64-linux-gnu/hdf5/mpich/" LIBS=-ldl ./configure --prefix=/usr/local/ophidia/extra --enable-parallel-tests
make
make install

Install the I/O server

Installation from sources

Installation from source can be used on most Linux distros (i.e. CentOS6, CentOS7, Ubuntu 14, Ubuntu 18).

As ophidia user create a folder to download and build Ophidia source code.

mkdir /usr/local/ophidia/src

Download Ophidia I/O Server release from https://github.com/OphidiaBigData/ophidia-io-server/releases. Alternatively you can get the latest development version from the git repository:

git clone https://github.com/OphidiaBigData/ophidia-io-server

Install the required dependencies:

  • bison and related devel libraries
  • flex and related devel libraries

For example on CentOS

sudo yum install bison\* flex\*

on Ubuntu

sudo apt-get install bison flex libfl-dev libfl-dev libbison-dev

Build and install Ophidia I/O Server

cd /usr/local/ophidia/src/ophidia-io-server
./bootstrap
./configure --prefix=/usr/local/ophidia/oph-cluster/oph-io-server  --with-netcdf-path=/usr/local/ophidia/extra
make
make install

Then, if not already available, create the following folders

mkdir -p /usr/local/ophidia/oph-cluster/oph-io-server/data1/var
mkdir -p /usr/local/ophidia/oph-cluster/oph-io-server/data1/log

Installation from RPM

To install the Ophidia I/O Server package on CentOS7 download the ophidia-io-server rpm from https://download.ophidia.cmcc.it/rpm/1.5/ and run

sudo yum install ophidia-io-server-1.5*.x86_64.rpm

Change owner of the installation folders

sudo chown -R ophidia:ophidia /usr/local/ophidia

Installation from DEB

To install the Ophidia I/O Server package on Ubuntu 18 download the ophidia-io-server deb from https://download.ophidia.cmcc.it/deb/1.5/ and run

sudo dpkg -i ophidia-io-server_1.5.*_amd64.deb

Change owner of the installation folders

sudo chown -R ophidia:ophidia /usr/local/ophidia

Finalize the setup

In case of single node instance the default configuration file oph_ioserver.conf under the etc folder can be used, however if you need to change it see the Ophidia I/O Server configuration page for more details.

Finally, start the Ophidia I/O Server as Ophidia user:

su - ophidia
/usr/local/ophidia/oph-cluster/oph-io-server/bin/oph_io_server -i 1 > /dev/null 2>&1 &

Extra steps

The default configuration file oph_ioserver.conf in the etc/ folder under the installation path is used. To use a different configuration file, start the server with the -c option:

su - ophidia
/usr/local/ophidia/oph-cluster/oph-io-server/bin/oph_io_server -i 1 -c <path-to-conf-file> /dev/null 2>&1 &

To avoid typing the whole executable path, you may add it to the PATH environmental variable with:

export PATH="/usr/local/ophidia/oph-cluster/oph-io-server/bin:$PATH"