java 、maven、ycsb 的安装及配置见这篇博客: http://blog.csdn.net/hs794502825/article/details/17309845 本篇博客主要介绍 hbase 的安装,以及利用 ycsb 对 hbase 进行基本的测试 步骤一: 在http://mirrors.hust.edu.cn/apache/hbase/下载hbase稳定版:
java 、maven、ycsb 的安装及配置见这篇博客:
http://blog.csdn.net/hs794502825/article/details/17309845
本篇博客主要介绍 hbase 的安装,以及利用 ycsb 对 hbase 进行基本的测试
步骤一:
在http://mirrors.hust.edu.cn/apache/hbase/下载hbase稳定版:
hbase-0.94.14.tar.gz 存放于 /home/hs/program 目录下
cd /home/hs/program
tar -zxvf hbase-0.94.14.tar.gz
步骤二:
修改/home/hs/program/ycsb/hbase目录下的pom.xml文件(根据你所使用的hbase版本和hadoop版本,注意红色部分):
4.0.0
com.yahoo.ycsb
root
0.1.4
hbase-binding
hbase db binding
org.apache.hbase
hbase
0.94.14
org.apache.hadoop
hadoop-core
1.0.4
com.yahoo.ycsb
core
${project.version}
org.apache.maven.plugins
maven-assembly-plugin
${maven.assembly.version}
jar-with-dependencies
false
package
single
步骤三:
因为更改了步骤二中的文件,所以需要重新编译ycsb项目
cd /home/hs/program/ycsb
mvn clean package | tee mvn-clean-package.dat //将输出同时输出到屏幕和文件
显示与下类似信息,则说明编译成功:
[info] reactor summary:
[info] ------------------------------------------------------------------------
[info] ycsb root ............................................. success [7.540s]
[info] core ycsb ............................................. success [13.293s]
[info] cassandra db binding .................................. success [15.861s]
[info] hbase db binding ...................................... success [2:21.346s]
[info] hypertable db binding ................................. success [5.296s]
[info] dynamodb db binding ................................... success [7.347s]
[info] elasticsearch binding ................................. success [18.140s]
[info] jdbc db binding ....................................... success [5.495s]
[info] mapkeeper db binding .................................. success [4.054s]
[info] mongo db binding ...................................... success [3.368s]
[info] orientdb binding ...................................... success [4.199s]
[info] redis db binding ...................................... success [3.261s]
[info] voldemort db binding .................................. success [4.113s]
[info] ycsb release distribution builder ..................... success [13.764s]
[info] ------------------------------------------------------------------------
[info] ------------------------------------------------------------------------
[info] build successful
[info] ------------------------------------------------------------------------
[info] total time: 4 minutes 8 seconds
[info] finished at: mon dec 16 12:43:12 cst 2013
[info] final memory: 94m/227m
步骤四:
成功编译ycsb之后,在/home/hs/program/ycsb/distribution/target目录下会有ycsb-0.1.4.tar.gz
将该文件解压到/home/hs/program目录下:
tar -zxvf /home/hs/program/ycsb/distribution/target -c /home/hs/program
步骤五:
将/home/hs/program/hbase-0.94.14/lib中的以下文件:
slf4j-api-*.jar
slf4j-log4j12-*.jar
zookeeper-*.jar
拷贝到/home/hs/program/ycsb-0.1.4/hbase-binding/lib中
步骤六:
使用/home/hs/program/hbase-0.94.14/conf中的hbase-site.xml
替换掉/home/hs/program/ycsb-0.1.4/hbase-binding/conf中的hbase-site.xml
步骤七:
执行测试
终端1:
进入hbase的安装目录:
执行:./bin/start-hbase.sh
显示:
starting master, logging to /home/hs/program/hbase-0.94.14/bin/../logs/hbase-hs-master-hs-virtual-machine.out
接着执行:
./bin/hbase shell
create 'usertable','cf'
终端2中:
cd /home/hs/program/ycsb-0.1.4
hs@hs-virtual-machine:~/program/ycsb-0.1.4$ ./bin/ycsb load hbase -p workloads/workloada -p hosts=localhost -p columnfamily=cf > ./my-results/load-hbase-a
hs@hs-virtual-machine:~/program/ycsb-0.1.4$ ./bin/ycsb run hbase -p workloads/workloada -p hosts=localhost -p columnfamily=cf > ./my-results/run-hbase-a
得到如下结果:
ycsb client 0.1
command line: -db com.yahoo.ycsb.db.hbaseclient -p workloads/workloada -p hosts=localhost -p columnfamily=cf -t
[overall], runtime(ms), 5886.0
[overall], throughput(ops/sec), 169.89466530750934
[update], operations, 487
[update], averagelatency(us), 9366.180698151951
[update], minlatency(us), 33
[update], maxlatency(us), 4459758
[update], 95thpercentilelatency(ms), 0
[update], 99thpercentilelatency(ms), 0
[update], return=0, 486
......
[read], operations, 514
[read], averagelatency(us), 2482.817120622568
[read], minlatency(us), 707
[read], maxlatency(us), 176125
[read], 95thpercentilelatency(ms), 2
[read], 99thpercentilelatency(ms), 29
[read], return=0, 514