Minni: Lightweight MapReduce Library

Installation

You are looking at an old revision of the page Installation. This revision was created by Wolfgang Richter.

Table of Content

This document explains how to install all the dependencies and compile Minni.

Introduction

This document describes the installation process of Minni. Compiling from source is currently the preferred method. Minni may be obtained from either the main git repository used for development , or as a source packaged minni-*.tar.gz archive. The commands are meant to be directly run as shown here, and they should work. Minni leverages the autotools framework for automated building and with minimal fuss should work on multiple distributions and Unix-based operating systems (Solaris, OS X, FreeBSD etc.).

Currently, Minni has only been built and tested in a Ubuntu Lucid Lynx 10.04 LTS environment.

Requirements

The main three requirements that Minni needs are:

  1. TBB -- 2.0.4
  2. Thrift -- 0.2.0
  3. KFS -- 0.5

Those version numbers are what Minni is currently test built against. Later versions may or may not work.

TBB

On Ubuntu Lucid Lynx 10.04 LTS TBB is packaged in the main repositories. To install run:

 sudo apt-get install libtbb2 libtbb2-dev

Thrift

Thrift is not currently packaged for Ubuntu Lucid Lynx 10.04 LTS, so download the source package and install. Thrift has it's own set of dependencies which must also be installed:

 sudo apt-get install libboost-dev libevent-dev python-dev automake pkg-config libtool flex bison sun-java6-jdk g++
 wget http://www.apache.org/dyn/closer.cgi?path=/incubator/thrift/0.2.0-incubating/thrift-0.2.0-incubating.tar.gz
 tar xzf thrift-0.2.0-incubating.tar.gz
 cd thrift-0.2.0-incubating
 ./configure
 make
 sudo make install
 sudo rm /usr/local/include/thrift/config.h

The final rm is needed to delete a file Thrift installs that should never ever be installed.

KFS

KFS is not currently packaged for Ubuntu Lucid Lynx 10.04 LTS, so download the source package and install. KFS has it's own set of dependencies which must also be installed:

 sudo apt-get install liblog4cpp5-dev cmake gcc xfsprogs libboost_regex libboost-regex-dev xfslibs-dev zlib1g-dev libssl-dev
 wget http://downloads.sourceforge.net/project/kosmosfs/kosmosfs/kfs-0.5/kfs-0.5.tar.gz?use_mirror=voxel
 tar xzf kfs-0.5.tar.gz
 cd kfs-0.5
 mkdir build
 cd build
 cmake ../
 make
 make install

Make sure you finally install the *.so files located in .../build/lib in a location within LD_PATH. Then run lddconfig to make sure ld can find them later (so that when you run a Minni application, it can dynamically load these libraries).

Minni

Once everything is installed, building Minni should be simple! From the git source repository:

 ./bootstrap.sh
 vim build.sh
 ./build.sh

The editing of the build.sh script should be done to update the full paths to libkfs (wherever it is compiled on your file system within that build directory).

If you got a binary package of Minni, you can run:

 LDFLAGS=-L/home/wolf/Desktop/kosmostest/kfs-0.5/build/lib CPPFLAGS=-I/home/wolf/Desktop/kosmostest/kfs-0.5/build/include/kfs/ ./configure
 make

Updating the paths appropriately. Or if you see a build.sh script included, edit the paths there and just run:

 ./build.sh