Giter Site home page Giter Site logo

kuerant / hypertable Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nuggetwheat/hypertable

2.0 3.0 1.0 44.17 MB

A flexible database focused on performance and scalability

Home Page: http://hypertable.org/

License: GNU General Public License v2.0

Python 0.04% Perl 0.04% Shell 0.95% Java 7.47% C 7.95% C++ 83.55%

hypertable's Introduction

================
=== 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

hypertable's People

Contributors

vicaya avatar kejia-liu avatar bithckr avatar

Stargazers

Angus H. avatar  avatar

Watchers

 avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.