Skip to content
This repository
tree: 3827d9a303
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 66 lines (44 sloc) 2.062 kb

Quick Start

This section describes how to run YCSB on ElasticSearch running locally.

1. Set Up YCSB

Clone the YCSB git repository and compile:

git clone git://github.com/brianfrankcooper/YCSB.git
cd YCSB
mvn clean package

2. Run YCSB

Now you are ready to run! First, load the data:

./bin/ycsb load elasticsearch -s -P workloads/workloada

Then, run the workload:

./bin/ycsb run elasticsearch -s -P workloads/workloada

For further configuration see below:

Defaults Configuration

The default setting for the ElasticSearch node that is created is as follows:

cluster.name=es.ycsb.cluster
node.local=true
path.data=$TEMP_DIR/esdata
discovery.zen.ping.multicast.enabled=false
index.mapping._id.indexed=true
index.gateway.type=none
gateway.type=none
index.number_of_shards=1
index.number_of_replicas=0
es.index.key=es.ycsb

Custom Configuration

If you wish to customize the settings used to create the ElasticSerach node you can created a new property file that contains your desired ElasticSearch node settings and pass it in via the parameter to 'bin/ycsb' script. Note that the default properties will be kept if you don't explicitly overwrite them.

Assuming that we have a properties file named "myproperties.data" that contains custom ElasticSearch node configuration you can execute the following to pass it into the ElasticSearch client:

./bin/ycsb run elasticsearch -P workloads/workloada -P myproperties.data -s

If you wish to use a in-memory store type rather than the default disk store add the following properties to your custom properties file. For a large number of insert operations insure that you have sufficient memory on your test system otherwise you will run out of memory.

index.store.type=memory
index.store.fs.memory.enabled=true
cache.memory.small_buffer_size=4mb
cache.memory.large_cache_size=1024mb

If you wish to change the default index name you can set the following property:

es.index.key=my_index_key
Something went wrong with that request. Please try again.