1.YCSB简介
YCSB的全称是Yahoo! Cloud Serving Benchmark,这是一个用于测试cloud serving/NoSQL/Key-Value Store的benchmark。 论文发表在SoCC’10, 代码开源。有很多出色的工作(包括SILT@SOSP’11,HyperDex@SIGCOMM’12)使用YCSB进行测试。为了了解hbase-0.96.0的性能,因此学习一下如何使用YCSB。本文主要论述利用ycsb测试hbase-0.96.0。
2、YCSB测试hbase-0.96.0
1)下载ycsb源代码
在运行工作负载之前,必须创建YCSB写入的HBase表。可以在shell中创建表(ycsb默认测试的表名就是usertable):
YCSB的全称是Yahoo! Cloud Serving Benchmark,这是一个用于测试cloud serving/NoSQL/Key-Value Store的benchmark。 论文发表在SoCC’10, 代码开源。有很多出色的工作(包括SILT@SOSP’11,HyperDex@SIGCOMM’12)使用YCSB进行测试。为了了解hbase-0.96.0的性能,因此学习一下如何使用YCSB。本文主要论述利用ycsb测试hbase-0.96.0。
2、YCSB测试hbase-0.96.0
1)下载ycsb源代码
git clone https://github.com/brianfrankcooper/YCSB.git
删除原来hbase/pom.xml中的hbase和hadoop依赖项,改为如下:
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-it</artifactId>
<version>0.96.0-hadoop2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.2.0</version>
</dependency>
切换到YCSB目录,并使用mvn编译打包源代码(需要安装maven),如下:
cd YCSB
mvn -DskipTests package
编译结束后,将集群的配置信息写入hbase/src/main/conf/hbase-site.xml文件。例如:
<configuration>
<property>
<name>hbase.zookeeper.quorum</name>
<value>l-hbase1.data.cn8,l-hbase2.data.cn8,l-hbase3.data.cn8</value>
</property>
</configuration>
务必将hbase.zookeeper.quorum属性配置好,以便 YCSB使用它找到集群的入口。
在运行工作负载之前,必须创建YCSB写入的HBase表。可以在shell中创建表(ycsb默认测试的表名就是usertable):
hbase(main):002:0> create 'usertable ','cf'
0 row(s) in 1.1940 seconds
创建好之后,准备开始测试集群。首先是加载数据&