Installation

These are the installation instructions for MapD Core. The Immerse user interface is installed with MapD Core.

Summary of Requirements

These are the minimum requirements for MapD Core installation.

Operating Systems

  • CentOS/RHEL 7.0 or later
  • Ubuntu 15.04 or later

Additional operating systems might be available on a case-by-case basis.

Libraries

  • libjvm, provided by Java 1.6 or later
  • libldap

GPU Cards (Hardware)

MapD currently supports NVIDIA Kepler and Pascal series GPU cards.

Drivers (GPU Installations Only)

  • NVIDIA GPU Drivers version 375.51 or later.

If you do not use those drivers, you must install with GLX/Xorg. Contact MapD support for more information.

Common Dependencies

All installations of MapD Core depend on Java 1.6+/libjvm, provided by a Java Runtime Environment (JRE), and libldap, provided by OpenLDAP and similar packages. libldap is available by default on most common Linux distributions and does not require any special installation. The following describes how to install a JRE and configure the appropriate environment variables.

CentOS / Red Hat Enterprise Linux (RHEL)

libjvm is provided by the packages java-1.7.0-openjdk-headless or java-1.8.0-openjdk-headless. 1.8.0 is preferred, but not currently required. To install run:

sudo yum install java-1.8.0-openjdk-headless

By default a symlink pointing to the newly installed JRE is placed at /usr/lib/jvm/jre-1.8.0-openjdk, with the libjvm library residing in the subdirectory lib/amd64/server. Add this subdirectory to your LD_LIBRARY_PATH environment variable in order to start the MapD Core Server. Use the following command:

export LD_LIBRARY_PATH=/usr/lib/jvm/jre-1.8.0-openjdk/lib/amd64/server:$LD_LIBRARY_PATH

You can add this command to any file managing your environment, such as $HOME/.bash_profile, /etc/profile, or /etc/profile.d/java.sh.

Ubuntu / Debian

libjvm is provided by the package default-jre-headless. To install, run:

sudo apt install default-jre-headless

By default, a symlink pointing to the newly installed JRE is placed at /usr/lib/jvm/default-java, with the libjvm library residing in the subdirectory jre/lib/amd64/server. Add this subdirectory to your LD_LIBRARY_PATH environment variable in order to start the MapD Core Server. Use the following command:

export LD_LIBRARY_PATH=/usr/lib/jvm/default-java/jre/lib/amd64/server:$LD_LIBRARY_PATH

You can add this command to any file managing your environment, such as $HOME/.bash_profile, /etc/profile, or /etc/profile.d/java.sh.

NVIDIA GPU Driver Installation

CUDA-enabled installations of MapD Core depend on libcuda, which is provided by the NVIDIA GPU Drivers and NVIDIA CUDA Toolkit.

The NVIDIA CUDA Toolkit, which includes the NVIDIA GPU drivers, is available from the NVIDIA CUDA Zone.

The installation notes below are just a summary of what is required to install the CUDA Toolkit. See the CUDA Quick Start Guide for full instructions.

Before proceeding, make sure your system is completely up-to-date and you have restarted to activate the latest kernel, etc.

CentOS / Red Hat Enterprise Linux (RHEL)

RHEL-based distributions require Dynamic Kernel Module Support (DKMS) in order to build the GPU driver kernel modules, which is provided by the Extra Packages for Enterprise Linux (EPEL) repository. See the EPEL website for complete instructions for enabling this repository.

  1. Enable EPEL

    sudo yum install epel-release
    
  2. Update and reboot The GPU drivers and their dependencies, specifically kernel-devel and kernel-headers, require that the latest available kernel is installed and active. To ensure this, update the entire system and reboot to activate the latest kernel:

    sudo yum update
    sudo reboot
    
  3. Download the NVIDIA CUDA Toolkit network install RPM package, but do not follow the installation instructions on the NVIDIA site (the instructions are in the next step). Download the RPM package from NVIDIA CUDA Zone.

  4. Use the following commands to install the CUDA repository, update local repository cache, and then install the GPU drivers. yum automatically installs additional dependencies for the cuda-drivers package, including dkms, gcc, kernel-devel, and kernel-headers. The CUDA Toolkit (package cuda) is not required to run MapD Core, but the GPU drivers (package cuda-drivers, which include libcuda) are.

    sudo rpm --install cuda-repo-rhel7-8.0.44-1.x86_64.rpm
    sudo yum clean expire-cache
    sudo yum install cuda-drivers
    

    Where cuda-repo-rhel7-8.0.44-1.x86_64.rpm is the name of the RPM package provided by NVIDIA.

  5. Reboot and continue to section Environment Variables below.

Ubuntu / Debian

Download the DEB package provided by NVIDIA from the NVIDIA CUDA Zone.

  1. Install the CUDA repository, update local repository cache, and then install the CUDA Toolkit and GPU drivers

    sudo dpkg --install cuda-repo-ubuntu1604_8.0.44-1_amd64.deb
    sudo apt update
    sudo apt install cuda-drivers linux-image-extra-virtual
    

    Where cuda-repo-ubuntu1604_8.0.44-1_amd64.deb is the name of the package provided by NVIDIA.

  2. Reboot and continue to section Environment Variables below.

Mac OS X

Download the DMG package provided by NVIDIA from the NVIDIA CUDA Zone.

The DMG package will walk you through all required steps to install CUDA.

Environment Variables

For CPU-only installations of MapD Core, skip to section MapD Installation below.

MapD Core Server depends on libcuda, which must be available in your environment in order to run MapD Core. The NVIDIA GPU drivers usually make libcuda available by default by installing it to a system-wide lib directory such as /usr/lib64 (on CentOS/RHEL) or /usr/lib/x86_64-linux-gnu (on Ubuntu).

Verifying Installation

After installing CUDA and setting up the environment variables, restart your machine to activate the GPU drivers.

On Linux, you can verify installation of the GPU drivers by running nvidia-smi.

MapD Installation

MapD Core is distributed as a .tar.gz archive. Other package types are available upon request.

To install, move the archive to the desired installation directory ($MAPD_PATH) and run:

tar -xvf mapd2-<date>-<hash>-<platform>-<architecture>.tar.gz

replacing mapd2-<date>-<hash>-<platform>-<architecture>.tar.gz with the name of the archive provided to you. For example, a release for x86-64 Linux built on 15 April 2016 has the file name mapd2-20160415-86fec7b-Linux-x86_64.tar.gz.