欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

利用ycsb测试hbase性能

程序员文章站 2024-01-17 18:33:28
...

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