Building Cassandra Storage Engine

THIS PAGE IS OBSOLETE, it describes how to build a branch of MariaDB-5.5 with Cassandra SE. Cassandra SE is a part of MariaDB 10.0, which uses different approach to building.

This page describes how to build the Cassandra Storage Engine.

Getting the source code

The code is in bazaar branch at lp:~maria-captains/maria/5.5-cassandra.

Alternatively, you can download a tarball from http://ftp.osuosl.org/pub/mariadb/mariadb-5.5.27/cassandra-preview/

Building

The build process is not fully streamlined yet. It is

  • known to work on Fedora 15 and OpenSUSE
  • known not to work on Ubuntu Oneiric Ocelot (see MDEV-501).
  • known to work on Ubuntu Precise Pangolin

The build process is as follows

  • Install Cassandra (we tried 1.1.3 ... 1.1.5, 1.2 beta versions should work but haven't been tested)
  • Install the Thrift library (we used 0.8.0 and 0.9.0-trunk), only the C++ backend is needed.
    • we have installed it by compiling the source tarball downloaded from thrift.apache.org
  • edit storage/cassandra/CMakeLists.txt and modify the INCLUDE_DIRECTORIES directive to point to Thrift's include directory.
  • export LIBS="-lthrift", on another machine it was "-lthrift -ldl"
  • export LDFLAGS=-L/path/to/thrift/libs
  • Build the server
    • we used BUILD/compile-pentium-max script (the name is for historic reasons. It will actually build an optimized amd64 binary)

Running the server

Cassandra storage engine is linked into the server (ie, it is not a plugin). All you need to do is to make sure Thrift's libthrift.so can be found by the loader. This may require adjusting the LD_LIBRARY_PATH variable.

Running tests

There is a basic testsuite. In order to run it, one needs

  • Start Cassandra on localhost
  • Set PATH so that cqlsh and cassandra-cli binaries can be found
  • From the build directory, run
cd mysql-test
./mysql-test-run t/cassandra.test

Comments

Comments loading...
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.