Library

Launching OmniSci Enterprise on GCP 

03-14-2019 14:17

In this tutorial I will provide a step-by-step procedure for deploying OmniSci Enterprise Edition software on Google Cloud Platform (GCP). These instructions assume that you have a Google Cloud Platform account. Check this instruction if you don’t have a GCP account.

Creating a Virtual Machine

On the GCP Console, select Compute Engine and select an existing project or create a new project.



Select Create Instance for creating the OmniSci virtual machine (VM).


Enter a name for the VM, and select Customize under Machine Type to choose the flavor of the compute platform which will also impact the initial selection for the region & zone where the VM can be deployed.


This is a minimalistic configuration for running OmniSci, you can refer the Hardware Configuration Reference Guide for guidance on your production deployment. Change the Number of GPUs to 1 and from the GPU Type drop down menu select NVIDIA Tesla P4. As the P4 GPUs are available in us-west2 region and us-west2-c zone, make the changes accordingly. Also, increase the number of CPU cores to 4 and the memory to 15 GB.

Change the Boot disk, select CenOS7 (x86_64) and set the size of the boot disk to 20GB. The supported operating systems for OmniSci are CentOS/RHEL 7.0 or later and Ubuntu 16.04 or later.


Enable default access, allow HTTP/HTTPS traffic and create the VM.


Firewall Rules

Go to the Firewall rules page in the Google Cloud Platform Console. Click Create a firewall rule to allow access to the OmniSci Immerse (browser) and API ports. The caption below shows the firewall settings to access OmniSci, for further details read GCP Firewall settings.


Installing OmniSci Enterprise

After creating the virtual machine, it takes a couple of minutes for the VM to become available indicated by the green icon. You can access the VM using the external IP address associated with the network interface (nic0).


You can SSH in a browser window using the SSH drop down menu.


The document CentOS/RHEL & EE GPU installation with Yum has detailed instruction on installing OmniSci Enterprise using yum. Here is a summary of all the commands for the installation.

sudo yum update
sudo reboot
sudo yum install java-1.8.0-openjdk-headless
sudo yum install epel-release
sudo useradd -U -m omnisci
sudo yum install kernel-devel-$(uname -r) kernel-headers$(uname -r)
sudo reboot

 Install Nvidia CUDA drivers.

sudo yum install wget
wget   https://developer.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda-repo-rhel7-10-1-local-10.1.105-418.39-1.0-1.x86_64.rpm
sudo rpm --install cuda-repo-rhel7-10-1-local-10.1.105-418.39-1.0-1.x86_64.rpm
sudo yum clean expire-cache
sudo yum install cuda-drivers
sudo reboot

Run nvidia-smi to verify the drivers are installed correctly and the GPU is recognized.

nvidia-smi

 

Firewall settings on Centos.

sudo firewall-cmd --zone=public --add-port=6273/tcp --permanent
sudo firewall-cmd --reload

Modify the yum repository file to include OmniSci specification.

sudo vi /etc/yum.repos.d/CentOS-Sources.repo
[omnisci]
name='omnisci ee - cuda'
baseurl=https://releases.omnisci.com/ee/yum/stable/cuda
enabled=1
gpgcheck=1
repo_gpgcheck=0
gpgkey=https://releases.omnisci.com/GPG-KEY-mapd
 
sudo yum install omnisci
cd ~/
vi .bashrc
# 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
source .bashrc

 

Run the script to create the database data directory in $OMNISCI_STORAGE, the subdirectories for catalogs, data, export and log will be created.

cd $OMNISCI_PATH/systemd
sudo ./install_omnisci_systemd.sh

 

Start the OmniSci daemons and also enable it at system startup.

cd $OMNISCI_PATH
sudo systemctl start omnisci_server
sudo systemctl start omnisci_web_server
sudo systemctl enable omnisci_server
sudo systemctl enable omnisci_web_server

OmniSci Activation

With a web browser connect to Immerse (OmniSci visual platform) using the external IP address of the VM and port 6273 (http://<VM External IP>:6273). Copy your license key from the registration email message into the text box and press Apply to validate your OmniSci instance. If you don’t have a license key then register for a 30-day trial.

Load and Query Sample Dataset

Load the sample flights dataset with 7 million records (option #1) into the database.

cd $OMNISCI_PATH
sudo ./insert_sample_data

 

Connect to OmniSci Core with the SQL command line utility (default password is HyperInteractive) and run a query against the newly created flights_2008_7M table. 

$OMNISCI_PATH/bin/omnisql
omnisql> SELECT origin_city AS "Origin", dest_city AS "Destination", AVG(airtime) AS "Average Airtime" FROM flights_2008_7M WHERE distance < 175 GROUP BY origin_city, dest_city;

 

OmniSci Charts

Go back to the web browser Immerse session, under DATA MANAGER you will see the flights_2008_7M table we just created.


Using DASHBOARDS create a new choropleth chart that renders a polygon corresponding to each destination state and colors the states based on the average flight arrival delay time into an airport in that state. The dest_state column in flights table is joined with the abbr column of omnisci_states table (preloaded by default) thus providing the omnisci_geo (POLYGONS) column from omnisci_states.


Make sure to APPLY and SAVE the chart, and you can create other charts types in the dashboard and explore the dataset using the Immerse Crossfilter feature.


You can visit the OmniSci community forum to learn more and share your experience.

OmniSci is also available on Google Cloud Platform Marketplace, and offers three instance types based on Nvidia GPUs K80, P100 & V100.


#Cloud
#gcp

Statistics
0 Favorited
15 Views
1 Files
0 Shares
0 Downloads
Attachment(s)
pdf file
Launching OmniSci Enterprise on GCP   1.25MB   1 version
Uploaded - 03-14-2019
this tutorial will teach you how to launch OmniSci Enterprise on Google Cloud Platform

Tags and Keywords

Related Entries and Links

No Related Resource entered.