Setup

Setup

Setup

This chapter explains how to download and set up Tarantool Enterprise and run a sample application provided with it.

System requirements

The recommended system requirements for running Tarantool Enterprise are as follows.

Hardware requirements

To fully ensure the fault tolerance of a distributed data storage system, at least three physical computers or virtual servers are required. For testing/development purposes, the system can be deployed using a smaller number of servers; however, it is not recommended to use such configurations for production.

Software requirements

Tarantool Enterprise supports Red Hat Enterprise Linux 7 and CentOS 7 as host operating systems.

Note

Tarantool Enterprise can run on other systemd-based Linux distributions but it is not tested on them and may not work as expected.

Python and Python connector to Tarantool are required to launch out-of-the-box tests provided for the sample application. To install them, e.g., on CentOS, say:

$ yum -y install epel-release
$ yum -y install python-pip
$ pip install tarantool requests

Network requirements

Hereinafter, “storage servers” or “Tarantool servers” are the computers used to store and process data, and “administration server” is the computer used by the system operator to install and configure the product.

The Tarantool cluster has a full mesh topology, therefore all Tarantool servers should be able to communicate and send traffic from any TCP port to TCP ports 3000:4000.

To configure remote monitoring or to connect via the administrative console, the administration server should be able to access the following TCP ports on Tarantool servers:

  • 22 to use the SSH protocol,
  • 8080 to monitor the HTTP-metrics.

Additional network configuration recommendations

It is recommended to apply the following settings for sysctl on all Tarantool servers:

$ # TCP KeepAlive setting
$ sysctl -w net.ipv4.tcp_keepalive_time=60
$ sysctl -w net.ipv4.tcp_keepalive_intvl=5
$ sysctl -w net.ipv4.tcp_keepalive_probes=5

This optional setup of the Linux network stack helps speed up the troubleshooting of network connectivity when the server physically fails. To achieve the maximum performance, you may also need to configure other network stack parameters that are not specific to the Tarantool DBMS. For more information, please refer to the Network Performance Tuning Guide section of the RHEL7 user documentation.

Package contents

The latest release package of Tarantool Enterprise is available in the S3 repository. Please contact support@tarantool.org for the details.

The package is distributed as a tar + gzip archive and includes the following components and features:

  • static Tarantool binary for simplified deployment in Linux environments,
  • built-in audit log,
  • selection of open and closed source modules,
  • sample application walking you through all included modules.

Archive contents:

  • tarantool is the main executable of Tarantool.
  • tarantoolctl is the utility script for installing supplementary modules.
  • tarantoolapp is the utility script to help you set up a development environment for applications and pack them for easy deployment.
  • example/ is the directory containing sample applications:
    • cluster/ is an application designed to demonstrate key features and modules included in the distribution;
    • pg_writethrough_cache/ is an application showcasing how Tarantool can cache data written to, for example, a PostgreSQL database;
    • ora_writebehind_cache/ is an application showcasing how Tarantool can cache writes and queue them to, for example, an Oracle database;
    • docker/ is an application designed to be easily packed into a Docker container;
  • rocks/ is the directory containing a selection of additional open and closed source modules included in the distribution as an offline rocks repository. See the rocks reference for details.
  • templates/ is the directory containing template files for your application development environment.
  • deprecated/ is a set of modules that are no longer actively supported:
    • vshard-zookeeper-orchestrator is a Python application for launching orchestrator,
    • zookeeper-scm files are the ZooKeeper integration modules (require usr/ libraries).

Unpacking the archive

The delivered archive should be uploaded to a server and unpacked:

$ tar xvf tarantool-enterprise-bundle-<version>.tar.gz

No further installation is required as the unpacked binaries are almost ready to go. Go to the directory with the binaries and add them to the executable path by running the script provided by the distribution:

$ source ./env.sh