雅虎(ycsb)测试hbase(压测)

编程入门 行业动态 更新时间:2024-10-23 19:20:19

<a href=https://www.elefans.com/category/jswz/34/1752202.html style=雅虎(ycsb)测试hbase(压测)"/>

雅虎(ycsb)测试hbase(压测)

 

 

一、下载ycsb 0.10包

.10.0/ycsb-0.10.0.tar.gz

二、上传到linux,解压

tar -zxvf  ycsb-0.10.0.tar.gz 三、YSCB压力测试hbase流程 1、进入workloads目录下进行文件配置:比如: workload_test,我们也可以根据下面进行自定义配置:

参数说明:

这里我根据workloads下的文件进行的配置:

 

#load阶段插入的数据条数,可以在命令行设置,但是在命令行设置可以覆盖这里的作用 recordcount=1000 #run阶段(比如insert,update等操作)共计的操作次数 operationcount=1000 #核心框架配置 workload=com.yahoo.ycsb.workloads.CoreWorkload   # true/false. 配置在读取一行数据信息时,是否同时读取所有列 readallfields=true # 在整个run阶段中,read操作应该占的比例(默认0.95). readproportion=0.5 # 在整个run阶段中,update操作应该占的比例(默认0.05). updateproportion=0.5 # 在整个run阶段中,scan操作应该占的比例(默认为0). scanproportion=0 # 在整个run阶段中,insert操作应该占的比例(默认0). insertproportion=0 # 请求在keyspace中的分布情况,例如是否关注热点还是平均取数据等场景。可以设置 zipfian,uniform,latest requestdistribution=zipfian 还可以进行其他参数配置,我这里默认的是以workloads下解压时就有的文件内容为准 workloads目录下 :里面包含一些压力测试的场景文件。YCSB自带了6中压力测试场景,文件和相应场景的对应关系如下:

workloada:混合了50%的读和50%的写; workloadb:Read mostly workload,混合了95%的读和5%的写,该workload侧重于测试集群的读能力; workloadc:Read only,100%只读; workloadd:Read latest workload,插入数据,接着就读取这些新插入的数据; workloade:Short ranges,短范围scan,不同于随机读,每个测试线程都会去scan一段数据; workloadf:Read-modiy-wirte,读改写,客户端读出一个记录,修改它并将被修改的记录返回; 2、在hbase创建表: hbase(main):005:0> create 'usertable',{NAME => 'f1'} 0 row(s) in 0.7650 seconds 3、加载数据:加载10W条数据记录: bin/ycsb load hbase098 -P workloads/workloadb -cp /etc/hyperbase1/conf  -p threads=10 -p table=usertable -p columnfamily=f1 -p recordcount=100000  -s > /yang/load.log 参数说明: hbase098:加载数据时指明所用的数据库类型 -P指明了所用的配置文件的路径; 其中 -P 指定workload_test核心配置,-cp 指定的是 /etc/hyperbase1/conf 下的hbase-site.xml文件 -p 指定的参数覆盖workloadb中的配置。threads指定client启用多少个线程运行HBase client, 即对应HTable实例。 threads=10 配置了并发线程个数 table=usertable -p columnfamily=f1  Hbase中的表和列族 recordcount=100000  Load阶段插入数据的条数 -s > /yang/load.log 将结果输出到指定文件

加载数据时发生的错误:

经过百度查询说:这个错误可以忽略不管:

 

因为出现错误的原因:

load加载数据的结果:

 

经过百度查询结果的参数说明:

 到hbase shell下查看:load数据结果:这里我仅仅取了前5条记录

 

4、运行run测试阶段

bin/ycsb run hbase098 -P workloads/workloadb -cp /etc/hyperbase1/conf:/etc/hdfs1/conf -threads 10 -p table=usertable -p columnfamily=f1 -s > /yang/run1.log 这后面加了-s > /yang/run1.log将结果输出到指定位置 参数说明: -threads 10配置了并发线程个数 -p operationcount=1000000 覆盖了workloada中operationcount=1000表示本次测试操作记录数为1000000(可配,不配就以workloadb下的为准) 选择配置: -p measurementtype=timeseries -p timeseries.granularity=2000指明了YCSB客户端多长时间汇总一次延时,timeseries.granularity属性值的单位为1000milliseconds。所以这里的配置就表示2000s记录一次本2000s的平均延时。

 

在run测试阶段也会报和load数据阶段一样的错误,可以忽略不管: run阶段测试结果:

 

 

 

 

转载于:.html

更多推荐

雅虎(ycsb)测试hbase(压测)

本文发布于:2024-03-06 07:36:08,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1714744.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:雅虎   测试   压测   ycsb   hbase

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!