一、下载ycsb 0.10包

https://github.com/brianfrankcooper/YCSB/releases/download/0.10.0/ycsb-0.10.0.tar.gz

二、上传到linux,解压

三、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阶段测试结果:

雅虎(ycsb)测试hbase(压测)的更多相关文章

  1. YCSB测试HBase远程完全分布式集群

    写在前面 本文只讲一个很简单的问题,YCSB对HBase集群的测试.虽然网上有很多介绍YCSB测试HBase的文章,但都是针对本地HBase伪分布式集群的.大家都知道,稍微正式一些的压测都会要求测试客 ...

  2. .net HttpClient类(System.Net.Http) c#并发使用测试、压测

    .net HttpClient类(System.Net.Http) c#并发使用测试.压测

  3. ycsb 测试Hbase性能

    下载 github:https://github.com/brianfrankcooper/YCSB/releases/tag/0.10.0 wget https://github.com/brian ...

  4. mysql每秒最多能插入多少条数据 ? 死磕性能压测

    前段时间搞优化,最后瓶颈发现都在数据库单点上. 问DBA,给我的写入答案是在1W(机械硬盘)左右. 联想起前几天infoQ上一篇文章说他们最好的硬件写入速度在2W后也无法提高(SSD硬盘) 但这东西感 ...

  5. 双十一临近,怎样让买家流畅地秒杀? ——腾讯WeTest独家开放电商产品压测服务

    WeTest 导读 十一月临近,一年一度的电商大戏"双十一"又将隆重出场,目前各大商家已经开始各类优惠券的发放,各类大促的商品表单也已经提前流出,即将流入各个用户的购物车中. 作为 ...

  6. 开发人员必备工具 —— JMeter 压测

    在接口开发完以后,开发人员应该学会对自己的接口先进行压测一下,虽然压测的结果并不一定准确,也不能完全反映真实情况,但是如果有问题的话多少是可以看出的,而且也可以及早做优化,做到心里有底.否则,等测试进 ...

  7. 京东全链路压测军演系统(ForceBot)架构解密

    摘要:全链路压测是应对电商大促容量规划最有效的手段,如何有效进行容量规划是其中的架构关键问题.京东在全链路压测方面做过多年尝试,本文转载京东商城基础平台技术专家文章,介绍其最新的自动化压测 Force ...

  8. Haproxy压测

    目的:测试Haproxy压测情况 环境: Ha服务器:8核16G虚机,后端6个2核4G,压测客户端3个2核4G 安装和优化: 一.Haproxy #cd /opt/soft #wget http:// ...

  9. 性能压测中的SLA,你知道吗?

    本文是<Performance Test Together>(简称PTT)系列专题分享的第6期,该专题将从性能压测的设计.实现.执行.监控.问题定位和分析.应用场景等多个纬度对性能压测的全 ...

随机推荐

  1. 第15.20节 PyQt(Python+Qt)入门学习:QColumnView的作用及开发中对应Model的使用

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 在Qt Designer的Item Views(Model-based)部件中,Colum ...

  2. C++详解(8-9)

    八. C++函数的高级特性 对比于C语言的函数,C++增加了重载(overloaded).内联(inline).const和virtual四种新机制.其中重载和内联机制既可用于全局函数也可用于类的成员 ...

  3. Vmare虚拟机网络连接方式桥接模式+桥接模式+主机模式

    虚拟机网络连接模式 最近在学习虚拟机和计算机网络,在网上看了一些关于虚拟机网络连接方式的介绍 这篇文章写的不错:https://www.cnblogs.com/luxiaodai/p/9947343. ...

  4. idea2020.2.x/2020.3.x最新破解版方法教程无限永久重置插件激活码

    idea是一个java开发工件,相信我所有的朋友都用过.本教程教你做到完美,安全,永久.破解 idea2020.2.x和idea2020.3.x的所有版本绝对是100% 激活,支持Windows Ma ...

  5. selenium 淘宝商品分页

    通过这行代码确定每页的下一页,因为从淘宝的第4页 xpath就匹配不出下一页的位置#这是面向对象写法,不用的把self. 去掉即可next_button = self.driver.find_elem ...

  6. ACM里的期望和概率问题 从入门到精通

    起因:在2020年一场HDU多校赛上.有这么一题没做出来. 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6829 题目大意:有三个人,他们分别有X,Y ...

  7. STL——容器(Map & multimap)的大小

    1. Map & multimap 的大小 map.size();     //返回容器中元素的数目 map.empty();//判断容器是否为空, 容器中有内容将会返回 false 代码示例 ...

  8. 双向数据绑定 v-model

    双向数据绑定 就是既可以从页面传到数据也可以从数据到页面 初始运行结果为: 在输入框 更改数据 相应的输入框上的也会相对改变 然后再试试利用控制台更改数据 可以看到数据也被改变了 而且输入框中的内容也 ...

  9. springmvc中使用文件下载功能

    项目代码:https://github.com/PeiranZhang/springmvc-fileupload 使用文件下载步骤 对请求处理方法使用void或null作为返回类型,并在方法中添加Ht ...

  10. pandas的学习4-处理丢失数据

    import pandas as pd import numpy as np ''' 有时候我们导入或处理数据, 会产生一些空的或者是 NaN 数据,如何删除或者是填补这些 NaN 数据就是我们今天所 ...