-
Notifications
You must be signed in to change notification settings - Fork 4
Getting Started
MapKeeper depends on:
Make sure they are installed on your system.
wget http://monkey.org/~provos/libevent-2.0.12-stable.tar.gz
tar xfvz libevent-2.0.12-stable.tar.gz
cd libevent-2.0.12-stable
./configure --prefix=/usr/local
make && sudo make install
wget http://superb-sea2.dl.sourceforge.net/project/boost/boost/1.48.0/boost_1_48_0.tar.gz
tar xfvz boost_1_48_0.tar.gz
cd boost_1_48_0
./bootstrap.sh --prefix=/usr/local
sudo ./b2 install
wget http://archive.apache.org/dist/thrift/0.8.0/thrift-0.8.0.tar.gz
tar xfvz thrift-0.8.0.tar.gz
cd thrift-0.8.0
./configure --prefix=/usr/local
Keep an eye on the output from ./configure
command. At the very end, you should see something like this:
Building C++ Library ......... : yes
Building TNonblockingServer .. : yes
Make sure that:
-
Building C++ Library
saysyes
. -
Building TNonblockingServer
saysyes
.
If all is well, compile and install Thrift by running:
make && sudo make install
First, you need to get a copy of MapKeeper repository:
git clone git://github.com/m1ch1/mapkeeper.git
This will create your local MapKeeper repository under a directory called mapkeeper
.
Save the location of the directory in an environment variable:
export MKROOT=`pwd`/mapkeeper
Go to mapkeeper/thrift
directory and run make
to generate and compile Thrift MapKeeper binding:
cd $MKROOT/thrift
make
Once the command succeeds, you should see libmapkeeper.so
under gen-cpp
directory.
MapKeeper supports various storage engines. See their READMEs on how to use them.
$MKROOT/bdb
- Berkeley DB Java Edition README
$MKROOT/handlersocket
$MKROOT/leveldb
$MKROOT/mysql
Now that you are running MapKeeper server, you can benchmark it using YCSB. Clone the YCSB repository and compile it:
cd $MKROOT/ycsb
git clone git://github.com/brianfrankcooper/YCSB.git
cd YCSB
mvn clean package
Then, run ycsb
command:
./bin/ycsb load mapkeeper -P ./workloads/workloada
For more detailed information about how to use YCSB, check out their wiki page.