Skip to content

(WIP) Installation Guide

fmcquillan99 edited this page Oct 27, 2015 · 7 revisions

Installation Guide for MADlib®

A quick start guide for installing from binaries or compiling from source.

Quick Start With Binaries

Prerequisites

Install and configure the database of choice. MADlib currently supports the following platforms:

  • PostgreSQL
  • Greenplum database
  • Apache HAWQ (incubating)

This guide describes the installation steps for PostgreSQL and Greenplum. (HAWQ installation steps will be added at a later date.)

PostgreSQL platform notes:

Installing MADlib

  1. Download the MADlib binary

  2. Install the package at the OS level.

    • Postgres:

      • on OSX double click the installer package

      • on Redhat / CentOS run the following as root:

              yum install <madlib_package> --nogpgcheck
        
    • Pivotal Greenplum Database:

      • on Redhat / CentOS run the following as gpadmin

              gppkg install <madlib_package>
        
  3. Ensure that the environment is setup for your database deployment and that the database is up and running.

    • Ensure that psql, postgres, and pg_config are in your path

        which psql
        which postgres
        which pg_config
      
    • Ensure that the database is started and running

        psql –c 'select version()'
      

    The above may need user/port/password setting depending on how the database has been configured.

  4. Run the MADlib deployment utility to install MADlib into each database that you want to use it in:

    • Postgres:

        /usr/local/madlib/bin/madpack -s madlib –p postgres install
      

    if environment variables are defined. Otherwise use a fully defined connection string:

       /usr/local/madlib/bin/madpack -s madlib -p postgres -c  [user[/password]@][host][:port][/database] install
    
    • Pivotal Greenplum Database:

        /usr/local/madlib/bin/madpack –p greenplum install
      

    The above may need user/port/password setting depending on how the database has been configured.

    For more information on madpack:

         /usr/local/madlib/bin/madpack --help
    
  5. Test your installation to validate proper installation

    • Postgres:

        /usr/local/madlib/bin/madpack -s madlib –p postgres install-check
      
    • Pivotal Greenplum Database:

        /usr/local/madlib/bin/madpack –p greenplum install-check
      

    The above may need user/port/password setting depending on how the database has been configured.

Compile From Source

Prerequisites

Requirements for installing MADlib:

  • gcc (For OSX, Clang will work for compiling the source, but not for documentation.)
  • An installed version of Pivotal HAWQ, Pivotal Greenplum Database 4.2+ or PostgreSQL (64-bit) 9.2+ with plpython support enabled. Note: plpython may not be enabled in PostgreSQL by default.

Installing MADlib

In the $MADLIB_ROOT (location of MADlib source) run the following commands

mkdir build
cd build
cmake ..
make

Above, we built the executables in the build folder. This can, however, be any user-named folder (henceforth called $BUILD_ROOT).

Deploying MADlib

Deploy MADlib into the database with MADlib package manager madpack located under $BUILD_ROOT/src/bin.

- to install, run `$BUILD_ROOT/src/bin/madpack -p postgres -c [user[/password]@][host][:port][/database]  install`

- to make sure that the installation is successful, run `$BUILD_ROOT/src/bin/madpack -p postgres -c [user[/password]@][host][:port][/database] install-check`

- for more information on the usage of `madpack`, run `$BUILD_ROOT/src/bin/madpack --help`

Defining environment variables

The below variables will be automatically used by the madpack installer if no connection string is provided.

  1. User: PGUSER or USER (defaults to OS username)
  2. Password: PGPASSWORD (defaults to empty)
  3. Host: PGHOST (defaults to 'localhost')
  4. Database: PGDATABASE (defaults to OS username)
  5. Port: PGPORT (defaults to 5432)

An example of deploying MADlib using the environment variables:

export PGPORT=5430
export PGHOST=127.0.0.1
export PGDATABASE=madlibtest
$BUILD_ROOT/src/bin/madpack -p postgres install