- Notifications
You must be signed in to change notification settings - Fork14
Provide pegasus plugin in YCSB, please refer to 'Test Pegasus' section in README.
License
XiaoMi/pegasus-YCSB
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
http://wiki.github.com/brianfrankcooper/YCSB/
https://labs.yahoo.com/news/yahoo-cloud-serving-benchmark/ycsb-users@yahoogroups.com
This section describes how to run YCSB on Pegasus.
Ask to Pegasus cluster manager tostart thecluster, and create tableusertable
for test.
If you want to use a different table name, please config thetable
option inworkloads/workload_pegasus
.
See step 2 inmongodb/README.md
.
Before set up YCSB, you should installPegasus Java Client firstly:
cd scripts && sh recompile_thrift.sh && cd -mvn spotless:applymvn clean install -DskipTests
Git clone YCSB and build it:
git clone https://github.com/XiaoMi/pegasus-YCSB.gitcd pegasus-YCSBmvn -Dcheckstyle.skip=true -DskipTests -pl com.yahoo.ycsb:pegasus-binding -am clean package
A default pegasus configuration file is provided inpegasus/conf/pegasus.properties
.
A default log4j configuration file is provided inpegasus/conf/log4j.properties
.
Becausepegasus/conf
is added into classpath by default, so these configuration files will befound automatically. Also You can specify configuration file on the command line via-p
, e.g.:
# example for specifying. If you have executed this command, skip the "Load the data" phase in section 5../bin/ycsb load pegasus -s -P workloads/workload_pegasus \ -p "pegasus.config=file://./pegasus/conf/pegasus.properties" > outputLoad.txt
Load the data:
./bin/ycsb load pegasus -s -P workloads/workload_pegasus > outputLoad.txt
Run the workload test:
./bin/ycsb run pegasus -s -P workloads/workload_pegasus > outputRun.txt
Generatepegasus-YCSB-${VERSION}.tar.gz
package:
./pack_pegasus.sh
Transfer package to target machines, then:
tar xfz pegasus-YCSB-${VERSION}.tar.gzcd pegasus-YCSB-${VERSION}./start.sh <load|run>
Download thelatest release of YCSB:
curl -O --location https://github.com/brianfrankcooper/YCSB/releases/download/0.10.0/ycsb-0.10.0.tar.gztar xfvz ycsb-0.10.0.tar.gzcd ycsb-0.10.0
Set up a database to benchmark. There is a README file under each bindingdirectory.
Run YCSB command.
On Linux:
bin/ycsb.sh load basic -P workloads/workloadabin/ycsb.sh run basic -P workloads/workloada
On Windows:
bin/ycsb.bat load basic -P workloads\workloadabin/ycsb.bat run basic -P workloads\workloada
Running theycsb
command without any argument will print the usage.
Seehttps://github.com/brianfrankcooper/YCSB/wiki/Running-a-Workloadfor a detailed documentation on how to run a workload.
Seehttps://github.com/brianfrankcooper/YCSB/wiki/Core-Properties forthe list of available workload properties.
YCSB requires the use of Maven 3; if you use Maven 2, you may seeerrorssuch as these.
To build the full distribution, with all database bindings:
mvn clean package
To build a single database binding:
mvn -pl com.yahoo.ycsb:mongodb-binding -am clean package