您的位置:首页 > 大数据 > 人工智能

maven编译ycsb0.1.4支持针对hbase性能测试,解决not a host:port pair问题,附下载地址

2013-06-01 20:35 519 查看
Yahoo! Cloud Serving Benchmark (YCSB) 是 Yahoo 公司的一个用来对云服务进行基础测试的工具。目标是促进新一代云数据服务系统的性能比较。目前支持对:Cassandra,、HBase、mongodb、redis和一个简单的片式MySQL执行测试,制订了一套核心基准测试和结果报告。

最近在学习hbase,采用的测试环境是hadoop1.0.0、hbase0.92.1。使用官方提供的ycsb0.1.4(下载地址https://github.com/brianfrankcooper/YCSB/wiki)进行测试,总提示"Not
a host:port pair"

经过反复安装不同版本hadoop和hbase,均不行。

经查看ycsb源代码(下载地址http://github.com/brianfrankcooper/YCSB/tarball/0.1.4),终于发现端倪。

在源代码根目录下有一个pom.xml文件,内有一段代码是

<hbase.version>0.90.5</hbase.version>


,需要根据需要进行修改,并对hbase客户端代码内pom.xml也进行修改,编译后可以使用。

总结如下:

1.下载ycsb源代码,将根目录下的pom.xml中<hbase.version>0.90.5</hbase.version>修改为对应版本;

2.
将源代码中hbase文件夹中pom.xml中增加

<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>1.0.0</version>
</dependency>


这里的hadoop版本为对应版本

3.使用maven进行编译,编译方法为在命令行中进入到源代码根目录,运行mvn
clean package。maven需要联网环境才可以编译,因为编译的时候会自动下载相关库。

4.编译完毕后,将hbase\target\hbase-binding.jar文件替换原来\ycsb-0.1.4\hbase-binding\lib中的对应的文件即可。

5.将hbase目录下的hbase-site.xml文件拷贝到\ycsb-0.1.4\hbase-binding\conf\中。

具体测试方法分为两步骤:

1.在hbase目录中执行

./bin/hbase shell


进入hbase shell

2.创建一个名为“usertable"的表,并随意创建一个列族,这里以first为例。

create 'usertable','f1','f2','f3'

3.加载数据

终端进入ycsb根目录;执行

./bin/ycsb load hbase -P workloads/workloada -p threads=10 -p columnfamily=first -p recordcount=10000 -s > load.dat

[/code]
4.执行测试

./bin/ycsb run hbase -P workloads/workloada -threads 10 -p  -p columnfamily=first -p > transactions.dat

[/code]

5.查看测试结果

vim transactions.dat


我已经编译好了针对hbase0.92.1版本的文件,下载地址是http://pan.baidu.com/share/link?shareid=536252&uk=2567213251
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐