ycsb yahoo! cloud serving system benchmark.
显然,这是yahoo!应"云"而生的评价体系,用于测试云平台相关store\DB\serving system如cassandra\hbase\mysql\pnuts的系统.
开源,当前版本0.1.2,下载地址:
http://github.com/brianfrankcooper/YCSB/downloads
按照getting startedhttp://wiki.github.com/brianfrankcooper/YCSB/getting-started试了下ycsb来benchmarkCassandra,
现记录下整个过程:
环境:ubuntu Jdk 1.6.21 Cassandra0.6.4 ycsb0.1.2
1.下载Cassandra,把lib中的jar包全部拷贝到ycsb的db/Cassandra-0.6/lib 下
2.打开terminal,cd到YCSB目录,执行:
如果没有successfully build,并且遇到了class version的error,那么考虑下你的jdk版本是不是够高,因为Cassandra的jar包是在jdk1.6编译的,好像是u12以上.
3.安装Cassandra,具体:
a,把下载的Cassandra放在var/lib(推荐)下,文件夹就改为Cassandra好了
b,打开conf/storage-conf.xml,看到里面CommitlogDirectory和DataFileDirectory,在对应的目录下创建相关文件,并适当设置权限.
c,打开log4j.properties文件,看到里面的日志文件目录,一般为var/log/cassandra/system.log创建相应目录和文件,并设置权限.
d,打开terminal,cd到cassandra目录,执行:
cassandra应该就可以跑起来了.看到能跑起来就关掉好了.
4.根据YCSB的具体要求,再次打开onf/storage-conf.xml,更改keyspace的name,即把keyspace1改为usertable,并且添加一个column family:
.注释掉其他的columnFamily.
5.按照3.d启动cassandra
6.进入YCSB目录,输入以下:
注1为执行CassandraClient所需要的jar包,也就是1中拷贝过来的jar包,把需要的都加进去,一个个之间用冒号隔开(我开始用了分号,好像unix不行的),不能用*.jar这样的通配符.
注2为hosts的ip,我因为就在自己电脑上试验,所以就直接127.0.0.1,如果有多个host,用逗号一一隔开就好
这样应该就可以看到connected,表明ycsb跟Cassandra联通了.
7.导数据.可以执行:
这样就有数据进去了,如果要改数据规模可以直接修改workloada中的recordcount,或者据说可以再命令后加上-p recordcount=...,不过我没有成功,莫名.
8.你可以执行6的代码,根据提示输入help就可以看到可以进行的操作了,如scan
以上仅供参考