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