剛接觸了ycsb,這個確實比較新,基本沒有找到除官方發佈的信息之外的資料,國內的就更不用期望了.
簡單介紹下:
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 started
http://wiki.github.com/brianfrankcooper/YCSB/getting-started試了下ycsb來benchmarkCassandra,因爲本人是ycsb的新手,cassandra的新手,外加unix的新手,期間仍是糾結了一陣.現記錄下整個過程:
環境:ubuntu910 Jdk 1.6.21 Cassandra0.6.4 ycsb0.1.2
1.下載Cassandra,把lib中的jar包所有拷貝到ycsb的db/Cassandra-0.6/lib 下
2.打開terminal,cd到YCSB目錄,執行:
ant
ant dbcompile-cassandra-0.6
若是沒有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:
<ColunmFamily name="data"/>
.註釋掉其餘的columnFamily.
5.按照3.d啓動cassandra
6.進入YCSB目錄,輸入如下:
java -cp build/ycsb.jar:注1 com.yahoo.ycsb.CommandLine -p hosts=注2 -db com.yahoo.ycsb.db.CassandraClient6
注1爲執行CassandraClient所須要的jar包,也就是1中拷貝過來的jar包,把須要的都加進去,一個個之間用冒號隔開(我開始用了分號,好像unix不行的),不能用*.jar這樣的通配符.
注2爲hosts的ip,我由於就在本身電腦上試驗,因此就直接127.0.0.1,若是有多個host,用逗號一一隔開就好
這樣應該就能夠看到connected,代表ycsb跟Cassandra聯通了.
7.導數據.能夠執行:
java -cp build/ycsb.jar:注1 com.yahoo.ycsb.Client -load -db com.yahoo.ycsb.db.CassandraClient6 -P workloads/workloada
這樣就有數據進去了,若是要改數據規模能夠直接修改workloada中的recordcount,或者聽說能夠再命令後加上-p recordcount=...,不過我沒有成功,莫名. 8.你能夠執行6的代碼,根據提示輸入help就能夠看到能夠進行的操做了,如scan