CentOS/RHEL 7 OS CPU Installation With Tarball
This is an end-to-end recipe for installing OmniSci Open Source on a CentOS/RHEL 7 machine using a tarball.
Here is a quick video overview of the installation process.
Important | The order of these instructions is significant. To avoid problems, install each component in the order presented. |
Assumptions
- These instructions assume the following:
- You are installing on a “clean” CentOS/RHEL 7 host machine with only the operating system installed.
- Your OmniSci host only runs the daemons and services required to support OmniSci.
- Your OmniSci host is connected to the Internet.
Preparation
Prepare your CentOS/RHEL 7 machine by updating the system, installing the Java Development Kit, and creating a OmniSci user.
Update and Reboot
Update the entire system and reboot to activate the latest kernel.
sudo yum update sudo reboot
JDK
Follow these instructions to install a headless JDK and configure an environment variable with a path to the library. The “headless” Java Development Kit does not provide support for keyboard, mouse, or display systems. It has fewer dependencies, and is best suited for a server host. For more information, see http://openjdk.java.net/.
Open a terminal on the host machine.
Install the headless JDK using the following command:
sudo yum install java-1.8.0-openjdk-headless
Create the OmniSci User
Create a group called omnisci
and a user named
omnisci
, who will be the owner of the OmniSci database.
You can create the group, user, and home directory using the
useradd
command with the -U
and -m
switches.
sudo useradd -U -m omnisci
Download the OmniSci Archive File
To download the OmniSci TAR file, in a web browser open the link https://releases.omnisci.com/os/tar/omnisci-os-latest-Linux-x86_64-cpu.tar.gz .
You can use curl
to download the OmniSci TAR file. The location and
file name are up to you. Placing it in the ~/Downloads directory works
with the instructions below.
sudo curl https://releases.omnisci.com/os/tar/omnisci-os-latest-Linux-x86_64-cpu.tar.gz --output ~/Downloads/omnisci-os-latest-Linux-x86_64-cpu.tar.gz
You can use wget
to download the OmniSci TAR file. Storing it
in the ~/Downloads directory works with the instructions below. For example:
$ cd ~/Downloads $ sudo /usr/local/bin/wget https://releases.omnisci.com/os/tar/omnisci-os-latest-Linux-x86_64-cpu.tar.gz
Installation
You install the OmniSci application itself by expanding the TAR file.
- Create an installs directory in your home folder:
cd ~ sudo mkdir installs cd installs
- Expand the OmniSci archive file in the installs directory with
the following command:
sudo tar -xvf ~/Downloads/omnisci-os-latest-Linux-x86_64-cpu.tar.gz
- Go to the
opt
folder and create a symbolic link to the directory you just created. For example:cd /opt ln -s ~/installs/omnisci-os-4.5.0-20190221-e4lbe43ff0-Linux-x86_64-cpu omnisci
Configuration
These are the steps to prepare your OmniSci environment.
Set Environment Variables
For convenience, you can update .bashrc with the required environment variables.
- Open a terminal window.
- Enter
cd ~/
to go to your home directory. - Open
.bashrc
in a text editor. For example,sudo gedit .bashrc
. - Edit the
.bashrc
file. Add the following export commands under "User specific aliases and functions."# User specific aliases and functions export OMNISCI_USER=omnisci export OMNISCI_GROUP=omnisci export OMNISCI_STORAGE=/var/lib/omnisci export OMNISCI_PATH=/opt/omnisci export OMNISCI_LOG=/var/lib/omnisci/data/mapd_log
- Save the
.bashrc
file. - Open a new terminal window to use your changes.
The $OMNISCI_STORAGE directory must be dedicated to OmniSci: do not set it to a directory shared by other packages.
Initialization
Run the systemd
installer. This script requires sudo
access. You
might be prompted for a password.
cd $OMNISCI_PATH/systemd sudo ./install_omnisci_systemd.sh
You will be prompted for two paths during install: OMNISCI_PATH and OMNISCI_STORAGE. OMNISCI_PATH must be the same as the location of the symbolic link you created in step 5 of the installation process and the environment variable you just created. In a standard installation, that path is /opt/omnisci
. OMNISCI_STORAGE defaults to /var/lib/omnisci
The script creates a data
directory in $OMNISCI_STORAGE with the directories mapd_catalogs
,
mapd_data
, and mapd_export
. mapd_import
and mapd_log
directories are created when you insert data the first time. If you are an OmniSci administrator, the mapd_log
directory is of particular interest.
Activation
Start and use OmniSciDB.
- Start OmniSciDB.
sudo systemctl start omnisci_server
- Enable OmniSciDB to start automatically when the system reboots.
sudo systemctl enable omnisci_server
Checkpoint
To verify that everything is working correctly, load some sample data and
perform an omnisql
query.
- OmniSci ships with two sample datasets of airline flight information
collected in 2008. To install the sample data, run the following command.
cd $OMNISCI_PATH sudo ./insert_sample_data
- When prompted, choose whether to insert dataset 1 (7 million rows) or dataset 2 (10 thousand rows).
Enter dataset number to download, or 'q' to quit: # Dataset Rows Table Name File Name 1) Flights (2008) 7M flights_2008_7M flights_2008_7M.tar.gz 2) Flights (2008) 10k flights_2008_10k flights_2008_10k.tar.gz 3) NYC Tree Census (2015) 683k nyc_trees_2015_683k nyc_trees_2015_683k.tar.gz
- Connect to OmniSciDB by entering the following command in a terminal on the host machine (default password is HyperInteractive):
$OMNISCI_PATH/bin/omnisql password: ••••••••••••••••
- Enter a SQL query such as the following, based on dataset 2 above:
omnisql> SELECT origin_city AS "Origin", dest_city AS "Destination", AVG(airtime) AS "Average Airtime" FROM flights_2008_10k WHERE distance < 175 GROUP BY origin_city, dest_city; Origin|Destination|Average Airtime Austin|Houston|33.055556 Norfolk|Baltimore|36.071429 Ft. Myers|Orlando|28.666667 Orlando|Ft. Myers|32.583333 Houston|Austin|29.611111 Baltimore|Norfolk|31.714286