Documentation > Quick Start

Download

H-Store is open source and the latest version is available for download from the public Github repository:

git clone git://github.com/apavlo/h-store.git

Building

To build the entire H-Store database all at once, just execute the following command:

ant build

Note that H-Store will only compile on 64-bit platforms.

Environment Setup

Every machine in your H-Store cluster needs to have passwordless SSH logins enabled. This will allow the system to deploy the H-Store JVM on each host and execute the benchmark framework.

ssh-keygen -t dsa # Do not enter in a password
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

See the Environment Setup documentation page for additional information.

Configuring H-Store

H-Store comes with pre-written benchmark applications that can be used for various experiments. The first step is to create a new catalog for the benchmark that you want to execute using the hstore-prepare command:

ant hstore-prepare -Dproject=$BENCHMARK

The value of $BENCHMARK must be one of the supported benchmark types (e.g., tpcc, tm1, auctionmark, etc). This creates a new JAR file called “$BENCHMARK.jar” in root directory of the H-Store repository.

By default, hstore-prepare creates a catalog with a cluster of only one host (localhost) two sites, each with two partitions. You can use a custom specification file that defines the host/site/partition layout of the target cluster.

Running Benchmarks

To run a single node instance of H-Store for testing, you can use hstore-benchmark command. This will launch an H-Store cluster at the nodes defined in project jar file and then execute the benchmark using a single client process.

ant hstore-benchmark -Dproject=$BENCHMARK

For example, to run the TPC-C benchmark, replace the $BENCHMARK variable with tpcc and execute the following command:

ant hstore-benchmark -Dproject=tpcc

If you need to override the localhost default, you can pass in the global.defaulthost parameter to hstore-prepare when you built the project jar file:

ant hstore-prepare hstore-benchmark \
    -Dproject=$BENCHMARK \
    -Dglobal.defaulthost=hostname.mit.edu

To run the benchmark client drivers in BenchmarkController on a different set of hosts, you can use the client.host parameter. This can be a comma-separated list if you would like to use multiple hosts. Note that it does not require you to re-generate the project jar file.

ant hstore-benchmark \
    -Dproject=$BENCHMARK \
    -Dclient.host=client0.mit.edu,client1.mit.edu,client2.mit.edu

Additional Information