Ophidia I/O Server

Main configuration

The Ophidia I/O server main configuration file is located at $prefix/etc/oph_ioserver.conf. This file defines I/O server parameters: IP address or hostname, port number, instance folder, etc.

[instance1]
SERVER_HOSTNAME=127.0.0.1
SERVER_PORT=65000
SERVER_DIR=/usr/local/ophidia/oph-cluster/oph-io-server/data1
MAX_PACKET_LEN=4000000
CLIENT_TTL=300
MEMORY_BUFFER=1024
  • The first line [instance1] defines an I/O server instance identifier; all arguments following are releated to this instance. Multiple instances can be executed on the same node.
  • SERVER_HOSTNAME indicates the IP address or hostname of the analytics node hosting the server.
  • SERVER_PORT indicates the port where the I/O server is listening.
  • SERVER_DIR is the path where runtime data and logs related to an I/O server instance are stored.
  • MAX_PACKET_LEN defines the maximum size (in bytes) of messages sent and received by the I/O server.
  • CLIENT_TTL defines the maximum time a client connection is kept alive without any activity. When the time expires the connection is automatically closed.
  • MEMORY_BUFFER defines the size (in MB) available to the I/O server to allocate the buffer for data import.

Multiple instance configuration

In case the I/O server has been installed in a shared folder, it is possible to configure the execution of multiple instances from different nodes. To enable this setup, simply duplicate the configuration section changing the hostname and directory accordingly. For example:

[instance1]
SERVER_HOSTNAME=192.168.0.1
SERVER_PORT=65000
SERVER_DIR=/usr/local/ophidia/oph-cluster/oph-io-server/data1
MAX_PACKET_LEN=4000000
CLIENT_TTL=300
MEMORY_BUFFER=1024

[instance2]
SERVER_HOSTNAME=192.168.0.2
SERVER_PORT=65000
SERVER_DIR=/usr/local/ophidia/oph-cluster/oph-io-server/data2
MAX_PACKET_LEN=4000000
CLIENT_TTL=300
MEMORY_BUFFER=1024

Then to start the instances run:

#on 192.168.0.1
su - ophidia
/usr/local/ophidia/oph-cluster/oph-io-server/bin/oph_io_server -i 1 > /dev/null 2>&1 &
#on 192.168.0.2
su - ophidia
/usr/local/ophidia/oph-cluster/oph-io-server/bin/oph_io_server -i 2 > /dev/null 2>&1 &
...

Extra configuration

Update list of primitives

The $prefix/etc/oph_primitives_list file contains the list of Ophidia Primitives supported and available to the I/O server. To add or remove a new primitive, append or delete a primitive block, as the following:

[primitive_name]
LIB   @PLUGIN_PATH@/library.so
FUN SIMPLE
RET STRING

Other configuration options

Other configuration option that can be specified ad compile time (when building from source code):

  • --with-plugin-path: Allows to specify the primitives installation path (/usr/local/ophidia/oph-cluster/oph-primitives/lib by default).

Debugging

Debug can be enabled at compilation time by specifying the option --enable-debug. If the option is enabled several utility clients are built and the log messages are more verbose.