当前位置:文档之家› hbase基于YCSB的压力测试配置与使用

hbase基于YCSB的压力测试配置与使用

hbase基于YCSB的压力测试配置与使用
hbase基于YCSB的压力测试配置与使用

YCSB对hbase压力测试的环境配置

系统环境:redhat linux5

编码环境:jdk

因为后面需要执行java编译,所以系统必须安装jdk,并且通过vi,打开/etc/profile,将JDK的JAVA_HOME,PATH,CLASSPATH加进去,我的jdk安装包放在/home/maomao/下的,如下图配置:

下载ycsb-0.1.4.tar.gz,解压后需要四步去搭建环境:

第一步:将Hbase文件中的lib及根目录下的jar包,都拷贝到ycsb-0.1.4下的hbase-binding/lib中。

第二步:将我们Hbase的配置文件hbase-site.xml,添加到ycsb-0.1.4下的/hbase-binding/conf中。

第三步:通过vi,修改文件/etc/hosts,将数据库服务端的ip,添加到主机中,和hbase java环境搭建一样。

第四步:通过java操作,或者shell脚本,在数据库中创建一个名为“usertable”,columnfamily为“f1”,“f2”,“f3”,至少一个列族的表,因为操作时,默认使用usertable这个表

好了,经过以上四步,测试环境已经搭建成功。

Ycsb测试方法

Ycsb也是通过jar包及配置文件,封装了,对于hbase的连接及操作等方法。所以需要一个编码环境jdk,去对其进行编译处理。

测试方法很简单,分为两步:一步是加载数据;第二步是执行事务。

主要是在ycsb-0.1.4/bin下执行ycsb文件,命令是

./ycsb load hbase -P ../workloads/workloada -p threads=10 -p columnfamily=f1 -p recordcount=50000 -s > load.dat

其中-p是指定配置文件,ycsb在workloads文件下,自带了workloada/b/c/d/e/f六个文件,每个文件进行不一样的事务操作,比如是只读,读写,只写等等。Threads是表示并发写入时的并发量,及线程数量。Recordcount是表示本次加载的数据条数,及插入条数,这里插入了5万条,运行之后,显示如下:

他会大概没10秒,统计一下插入的条数,比如上面是10个线程的情况下,插入5W条数据,消耗的时间是30秒。

上面是加载数据,后面则是对数据进行,各种并发事务下的测试了,命令如下:

./ycsb run hbase -P ../workloads/workloada -threads 10 -p measurementtype=timeseries -p columnfamily=f1 -p timeseries.granularity=2000 > transactions.dat

其中不同事务,可以通过改变workloada来改变,运行得到的测试值,在bin目录下的transaction.dat中记录了,如下图

具体的不同测试文件所代表的事务,在https://https://www.doczj.com/doc/3c12243650.html,/brianfrankcooper/YCSB/wiki/Core-Workloads官方文档中有介绍,在https://https://www.doczj.com/doc/3c12243650.html,/brianfrankcooper/YCSB/wiki/Running-a-Worklo ad中也有demo参考。

相关主题
文本预览
相关文档 最新文档