Ubuntu Open Source CPU with Tarball
This is an end-to-end recipe for installing OmniSci Open Source on an Ubuntu machine running without GPUs.
Here is a quick video overview of the installation steps.
The order of these instructions is significant. To avoid problems, install each component in the order presented.
These instructions assume the following:
- You are installing on a “clean” Ubuntu 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.
Prepare your Ubuntu machine by updating your system and creating the OmniSci user.
- 1.Update the entire system:sudo apt updatesudo apt upgrade
- 2.Install a “headless” Java Runtime Environment:sudo apt install default-jre-headless
- 3.Verify that the
apt-transport-https
utility is installed:sudo apt install apt-transport-https - 4.Reboot to activate the latest kernel:sudo reboot
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
These instructions follow conventions of the OmniSci Engineering team. By creating an omnisci-installs directory and using a symbolic link that points to the current version, you can conveniently roll back to a previous version in the unlikely event that you would want to do so.
Use the following command to create the /opt/omnisci-installs directory.
sudo mkdir /opt/omnisci-installs
You can download the OmniSci archive file using
curl
, or wget
.To download the OmniSci archive file with
curl
, use the following command.sudo curl https://releases.omnisci.com/os/tar/omnisci-os-latest-Linux-x86_64-cpu.tar.gz --output /opt/omnisci-installs/omnisci.tar.gz
To download the OmniSci archive file with
wget
, use the following command.sudo /usr/bin/wget https://releases.omnisci.com/os/tar/omnisci-os-latest-Linux-x86_64-cpu.tar.gz -O/opt/omnisci-installs/omnisci.tar.gz
You install the OmniSci application itself by expanding the TAR file.
- 1.Go to the /opt/omnisci-installs directory.
- 2.Expand the OmniSci archive file using the following command:sudo tar -xvf omnisci.tar.gz
- 3.The expanded directory name is long and complex, with information about the version and build date. For example, the OmniSci 5.6.1 directory name is the following:omnisci-os-5.6.1-20190903-e9ac6920a3-Linux-x86_64-cpuGo to the /opt directory and create a symlink to omnisci, using the name of the expanded directory for the current release. For example, for OmniSci 5.6.1, you use the following commands:cd /optsudo ln -s /opt/omnisci-installs/omnisci-os-5.6.1-20190903-e9ac6920a3-Linux-x86_64-cpu omnisci
These are the steps to prepare your OmniSci environment.
For convenience, you can update .bashrc with the required environment variables.
- 1.Open a terminal window.
- 2.Enter
cd ~/
to go to your home directory. - 3.Open
.bashrc
in a text editor. For example,vi .bashrc
. - 4.Edit the
.bashrc
file. Add the following export commands under “User specific aliases and functions.”# User specific aliases and functionsexport OMNISCI_USER=omnisciexport OMNISCI_GROUP=omnisciexport OMNISCI_STORAGE=/var/lib/omnisciexport OMNISCI_PATH=/opt/omnisciexport OMNISCI_LOG=/var/lib/omnisci/data/mapd_log - 5.Save the
.bashrc
file. For example, in vi,[esc]:x!
- 6.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.
Run the
systemd
installer.cd $OMNISCI_PATH/systemd
./install_omnisci_systemd.sh
You are 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.Start and use OmniSciDB.
- 1.Start OmniSciDBsudo systemctl start omnisci_server
- 2.Enable OmniSciDB to start automatically when the system reboots.sudo systemctl enable omnisci_server
To verify that all systems are go, load some sample data and perform an
omnisql
query.OmniSci ships with two sample datasets of airline flight information collected in 2008, and a census of New York City trees from 2015.
- 1.To install sample data, run the following command.cd $OMNISCI_PATHsudo ./insert_sample_data
- 2.When prompted, enter 2 to insert the 10 thousand row flights dataset.Enter dataset number to download, or 'q' to quit:# Dataset Rows Table Name File Name1) Flights (2008) 7M flights_2008_7M flights_2008_7M.tar.gz2) Flights (2008) 10k flights_2008_10k flights_2008_10k.tar.gz3) NYC Tree Census (2015) 683k nyc_trees_2015_683k nyc_trees_2015_683k.tar.gz
- 3.Connect to OmniSciDB by entering the following command in a terminal on the host machine (default password is HyperInteractive):$OMNISCI_PATH/bin/omnisqlpassword: ••••••••••••••••
- 4.Enter a SQL query such as the following: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;The results should be similar to the results below.Origin|Destination|Average AirtimeAustin|Houston|33.055556Norfolk|Baltimore|36.071429Ft. Myers|Orlando|28.666667Orlando|Ft. Myers|32.583333Houston|Austin|29.611111Baltimore|Norfolk|31.714286