kuerant / hypertable

A flexible database focused on performance and scalability

Home Page:http://hypertable.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

================
=== CONTENTS ===
================

  * HOW TO BUILD
  * HOW TO RUN REGRESSION TESTS
  * HOW TO BUILD SOURCE CODE DOCUMENTATION TREE (Doxygen)

====================
=== HOW TO BUILD ===
====================

  1. Install CMake (http://www.cmake.org/)

  2. Install Required libraries (you may already have them installed)

    - BerkeleyDB 4.6+
      Example (generic Linux):
      tar -xzvf ~/Downloads/db-4.7.25.tar.gz
      cd db-4.7.25/build_unix/
      ../dist/configure --enable-cxx
      make
      sudo make install
      echo "/usr/local/BerkeleyDB.4.7/lib" | \
          sudo tee /etc/ld.so.conf.d/BerkeleyDB.conf
      sudo /sbin/ldconfig

      Example (using apt-get, typical on Debian variants (Ubuntu etc.)):
      sudo apt-get install libdb4.6++-dev

      Example (using yum, typical on Redhat variants (CentOS, Fedora etc.)):
      sudo yum install db4-devel

      Note: if distribution has version older than 4.6+, try the generic way.

    - Boost version 1.34.1+ (http://www.boost.org/)
      Example (using apt-get)
      sudo apt-get libboost-.*-dev

      Example (using yum)
      sudo yum install boost-devel

      Note: if distribution has version older than 1.34.1+, try the generic way.

    - log4cpp dev lib (http://log4cpp.sourceforge.net/)

      There is a bug in log4cpp that causes is to crash when trying to log
      messages larger than 1023 characters.  We've created a patch to fix the
      problem (thanks goes to Josh Taylor for coming up with this patch).  The
      following shell transcript illustrates how to build and install log4cpp:

      $ wget http://www.hypertable.org/pub/0003-Fixed-bug-in-StringUtil-vform.patch
      $ tar -xzvf ~/download/log4cpp-1.0.tar.gz
      $ cd log4cpp-1.0
      $ patch -p1 < ../0003-Fixed-bug-in-StringUtil-vform.patch
      $ ./configure
      $ make
      $ sudo make install

      NOTE: If your row keys are reasonably small, you may not run into this problem

    - expat dev lib (http://sourceforge.net/projects/expat;
      yum: expat-devel; apt-get: libexpat1-dev)

    - readline dev lib (yum: readline-devel; apt-get: libreadline5-dev)

    - ncurses dev lib (usually auto installed by installing above)

    - gcc (if it's not already installed)
      Example (using apt-get)
      sudo apt-get install g++

    HIGHLY RECOMMENDED (but not required):
    - tcmalloc (http://code.google.com/p/google-perftools/)

  3. Checkout the source code.

    mkdir ~/src
    cd ~/src
    git clone git://scm.hypertable.org/pub/repos/hypertable.git

  4. Create an install directory

    mkdir ~/hypertable

  5. Create a build directory

    mkdir -p ~/build/hypertable

  6. Configure the build.

    cd ~/build/hypertable
    cmake ~/src/hypertable

    By default, hypertable gets installed in /opt/hypertable. To install into
    your own install directory, say $prefix, you can use:

    cmake -DCMAKE_INSTALL_PREFIX=$prefix ~/src/hypertable

    Also default the build is configured for Debug. To compile for
    performance/benchmark:

    cmake -DCMAKE_BUILD_TYPE=Release ~/src/Hypertable

    Note, one can also use:

    ccmake ~/src/hypertable

    to change build parameters interactively.

    To build shared libraries, e.g., for scripting language extensions:
    cmake -DBUILD_SHARED_LIBS=ON ~/src/hypertable

  7. Build the software.

    make (or make -j<number_of_cpu_or_cores_plus_1> for faster compile)
    make install

    Note, if it's a shared library install, you might need to do:
    echo $prefix/$version/lib' | \
        sudo tee /etc/ld.so.conf.d/hypertable
    sudo /sbin/ldconfig

    Or, you can use the usual LD_LIBRARY_PATH (most Unix like OS) and
    DYLD_LIBRARY_PATH (Mac OS X) to specify non-standard shared library
    directories.

===================================
=== HOW TO RUN REGRESSION TESTS ===
===================================

1. Make sure software is built and installed according to 'HOW TO BUILD'

2. Restart servers and re-create test tables

   **********************************************************************
   *** WARNING: THIS STEP MUST BE PERFORMED PRIOR TO RUNNING THE TEST ***
   **********************************************************************

  version=0.9.0.7

  cd $prefix/$version
  bin/kill-servers.sh
  bin/start-all-servers.sh local

3. Run the regression tests

  cd ~/build/hypertable
  make test

=============================================================
=== HOW TO BUILD SOURCE CODE DOCUMENTATION TREE (Doxygen) ===
=============================================================

1. Install the following libraries:
  - doxygen (http://www.stack.nl/~dimitri/doxygen/)
  - graphviz (http://www.graphviz.org/)

2. If you have doxygen installed on your system, then CMake should detect this
   and add a 'doc' target to the make file.  Building the source code
   documentation tree is just a matter of running the following commands:

   cd ~/build/hypertable
   make doc

The documentation tree will get generated under ~/build/hypertable/doc. To view
the HTML docs, load the following file into a web browser:

  ~/build/hypertable/doc/html/index.html

About

A flexible database focused on performance and scalability

http://hypertable.org/

License:GNU General Public License v2.0


Languages

Language:C++ 83.5%Language:C 8.0%Language:Java 7.5%Language:Shell 1.0%Language:Perl 0.0%Language:Python 0.0%