This procedure is considered experimental.
In some situations, you might not be able to upgrade NVIDIA CUDA drivers on a regular basis. To work around this issue, NVIDIA provides compatibility drivers that allow users to use newer features without requiring a full upgrade. For information about compatibility drivers, see https://docs.nvidia.com/deploy/cuda-compatibility/index.html.
Use the following commands to install the CUDA 11 compatibility drivers on Ubuntu:
After the last nvidia-smi
, ensure that CUDA shows the correct version.
The driver version will still show as the old version.
After installing the drivers, update the systemd files in /lib/systemd/system/heavydb.service.
In the service section, add or update the environment property
The file should look like that
Then force the reload of the systemd configuration
In this section, you will find recipes to upgrade from the OmniSci to the HEAVY.AI platform and upgrade between versions of the HEAVY.AI platform.
It's not always possible to upgrade from your actual product version to the last one, but one or more intermediate upgrade steps are needed.
The following table shows the steps needed to move from one software version to another.
Initial version | Final version | Upgrade Steps |
---|---|---|
Versions 5.x and 6.0.0 are not currently supported; use these only as needed to facilitate an upgrade to a supported version.
As an example, if you are using an OmniSci version older than 5.5, you must upgrade to 5.5, then to 6.0 and after that to 7.0, while if you are using 6.0-6.4.4 you can upgrade to 7.0.0 in a single step.
This section is giving a recipe to upgrade from Omnisci platform 5.5+ to Heavi.ai 6.0.
If the version of Omnisci is older than 5.5 an intermediate upgrade step to the 5.5 version is needed. Check the docs on how to do the upgrade.
If you are upgrading from Omnisci to HEAVY.AI, there are a lot of additional steps compared to a simple sub-version upgrade.
IMPORTANT - Before you begin, stop all the running services / docker images of your Omnisci installation and create a backup $OMNISCI_STORAGE folder (typically /var/lib/omnisci). A backup is essential for recoverability; do not proceed with the upgrade without confirming that a full and consistent backup is available and ready to be restored.
The omnisci
the database will not be automatically renamed to the new default name heavyai
.This will be done manually and it's documented in the upgrade steps.
All the dumps created with the dump command on Omnisci cannot be restored after the database is upgraded to this version.
The following table describes the changes to environment variables, storage locations, and filenames in Release 6.0 compared to Release 5.x. Except where noted, revised storage subfolders, symlinks for old folder names, and filenames are created automatically on server start.
Change descriptions in bold require user intervention.
Description | Omnisci 5.x | HEAVY.AI 6.0 |
---|---|---|
The order of these instructions is significant. To avoid problems, follow the order of the instruction provided and don't skip any step.
This upgrade procedure is assuming that you are using the default storage location for both Omnisci and HEAVY.AI.
Stop all containers running Omnisci services.
In a terminal window, get the Docker container IDs:
You should see an output similar to the following. The first entry is the container ID. In this example, it is 9e01e520c30c
:
Stop the HEAVY.AI Docker container. For example:
Backup the Omnisci data directory (typically /var/lib/omnisci
).
Rename the Omnisci data directory to reflect the HEAVY.AI naming scheme.
Create a new configuration file for heavydb changing the data parameter to point to the renamed data directory.
Rename the Omnisci license file (EE and FREE only).
Download and run the 6.0 version of the HEAVY.AI Docker image.
Select the tab depending on the Edition (Enterprise, Free, or Open Source) and execution Device (GPU or CPU) you are upgrading.
Check that Docker is up and running using a docker ps
command:
You should see output similar to the following:
Using the new container ID rename the default omnisci
database to heavyai
:
Check that everything is running as expected.
To upgrade an existing system installed with package managers or tarball. The commands upgrade HEAVY.AI in place without disturbing your configuration or stored data.
Stop the Omnisci services.
Backup the Omnisci data directory (typically /var/lib/omnisci
).
Create a user named heavyai
who will be the owner of the HEAVY.AI software and data on the filesystem.
Set a password for the user. It'll need when sudo-ing.
Login with the newly created user
Rename the Omnisci data directory to reflect the HEAVY.AI naming scheme and change the ownership to heavyai user.
Check that everything is in order and the semaphore directory is created
All the directories must belong to heavyai user and the directory catalogs
would be present
Rename the license file. (EE and FREE only)
Install the HEAVY.AI software following all the instructions for your Operative System. CentOS/RHEL and Ubuntu.
Please follow all the steps in the Installation and Configuration until Intialization step.
Log in with the heavyai user and be sure that the heavyai services are stopped.
Create a new configuration file for heavydb changing the data
parameter to point to the /var/lib/heavyai/storage
directory and the frontend
to the new install directory.
All the settings of the upgraded database will be moved to the new configuration file.
Now we have to complete the database migration.
Remove the semaphore directory.
To complete the upgrade, start the HEAVY.AI servers.
Check if the database migrated, running this command and checking for the Rebrand migration complete
message.
Rename the default omnisci
database to heavyai.
Run the command using an administrative user (typically admin
) with his password (default HyperInteractive)
Restart the database service and check that everything is running as expected.
After all the checks confirmed that the upgraded system is stable, clean up the system to remove the Omnisci install and relative system configuration. Remove permanently the configuration of the services.
Remove the installed software.
Delete the YUM or APT repositories.
This section is giving a recipe to upgrade between fully compatible products version.
This section is giving a recipe to upgrade between fully compatible products version.
As with any software upgrade, it is important that you back up your data before upgrading. Each release introduces efficiencies that are not necessarily compatible with earlier releases of the platform. HeavyAI is never expected to be backward compatible.
Back up the contents of your $HEAVYAI_STORAGE directory.
If you need to upgrade from Omnisci to HEAVY.AI 6.0 or later, please refer to the specific recipe.
Direct upgrades from Omnisci to HEAVY.AI version later than 6.0 aren't allowed nor supported.
To upgrade HEAVY.AI in place in Docker
In a terminal window, get the Docker container ID.
You should see output similar to the following. The first entry is the container ID. In this example, it is 9e01e520c30c
:
Stop the HEAVY.AI Docker container. For example:
Optionally, remove the HEAVY.AI Docker container. This removes unused Docker containers on your system and saves disk space.
Backup the Omnisci data directory (typically /var/lib/omnisci
)
Download the latest version of the HEAVY.AI Docker image according to the Edition and device you are actually coming from Select the tab depending on the Edition (Enterprise, Free, or Open Source) and execution Device (GPU or CPU) you are upgrading.
If you don't want to upgrade to the latest version but want to upgrade to a specific version, change thelatest
tag with the version needed.
If the version needed is the 6.0 use v6.0.0 as the version tag in the image name
heavyai/heavyai-ee-cuda:v6.0.0
Check that the docker is up and running a docker ps commnd:
You should see an output similar to the following.
This runs both the HEAVY.AI database and Immerse in the same container.
You can optionally add --rm
to the Docker run
command so that the container is removed when it is stopped.
See also the note regarding the CUDA JIT Cache in Optimizing Performance.
To upgrade an existing system installed with package managers or tarball. The commands upgrade HEAVY.AI in place without disturbing your configuration or stored data
Stop the HEAVY.AI services.
Back up your $HEAVYAI_STORAGE directory (the default location is /var/lib/heavyai
).
Run the appropriate set of commands depending on the method used to install the previous version of the software.
Make a backup of your actual installation
Download and Install the latest version following the install documentation for your Operative System CentOS/RHEL and Ubuntu
When the upgrade is complete, start the HEAVY.AI services.
OmniSci less then 5.5
HEAVY.AI 7.0
Upgrade to 5.5 --> 6.0 --> 7.0
OmniSci 5.5-5.10
HEAVY.AI 7.0
Upgrade to 6.0 --> 7.0
HEAVY.AI 6.0-6.4
HEAVY.AI 7.0
Upgrade to 7.0
Environmental variable for storage location
$OMNISCI_STORAGE
$HEAVYAI_BASE
Default location for $HEAVYAI_BASE / $OMNISCI_STORAGE
/var/lib/omnisci
/var/lib/heavyai
Fixed location for Docker $HEAVYAI_BASE / $OMNISCI_STORAGE
/omnisci-storage
/var/lib/heavyai
The folder containing catalogs for $HEAVYAI_BASE / $OMNISCI_STORAGE
data/
storage/
Storage subfolder - data
data/mapd_data
storage/data
Storage subfolder - catalog
data/mapd_catalogs
storage/catalogs
Storage subfolder - import
data/mapd_import
storage/import
Storage subfolder - export
data/mapd_export
storage/export
Storage subfolder - logs
data/mapd_log
storage/log
Server INFO logs
omnisci_server.INFO
heavydb.INFO
Server ERROR logs
omnisci_server.ERROR
heavydb.ERROR
Server WARNING logs
omnisci_server.WARNING
heavydb.WARNING
Web Server ACCESS logs
omnisci_web_server.ACCESS
heavy_web_server.ACCESS
Web Server ALL logs
omnisci_web_server.ALL
heavy_web_server.ALL
Install directory
/omnisci (Docker) /opt/omnisci (bare metal)
/opt/heavyai/ (Docker and bare metal)
Binary file - core server (located in install directory)
bin/omnsici_server
bin/heavydb
Binary file - web server (located in install directory)
bin/omnisci_web_server
bin/heavy_web_server
Binary file - command- line SQL utility
bin/omnisql
bin/heavysql
Binary file - JDBC jar
bin/omnisci-jdbc-5.10.2-SNAPSHOT.jar
bin/heavydb-jdbc-6.0.0-SNAPSHOT.jar
Binary file - Utilities (SqlImporter) jar
bin/omnisci-utility-5.10.2-SNAPSHOT.jar
bin/heavydb-utility-6.0.0-SNAPSHOT.jar
HEAVY.AI Server service (for bare metal install)
omnisci_server
heavydb
HEAVY.AI Web Server service (for bare metal install)
omnisci_web_server
heavy_web_server
Default configuration file
omnisci.conf
heavy.conf
$OMNISCI_STORAGE
$HEAVYAI_BASE
/var/lib/omnisci
/var/lib/heavyai