ycsb工具之hbase测试
集群环境:临时搭建一套集群(3台虚拟机)
下载ycsb工具包:ycsb-0.12.0.tar.gz 下载地址: https://github.com/brianfrankcooper/YCSB/releases/tag/0.12.0
安装步骤:
1、 解压 安装 包 tar zxvf ycsb-0.12.0.tar.gz
2、配置环境变量
###ycsb
YCSB_HOME=/hadoop/ycsb
export PATH=$YCSB_HOME/bin:$PATH
3、拷贝$HBASE_HOME/lib下的所有包
cp -r /HBASE_HOME/lib $YCSB_HOME/hbase10-binding
4、拷贝$HBASE_HOME/conf/hbase-site.xml
mkdir $YCSB_HOME/hbase10-binding/conf
cp /HBASE_HOME/conf/hbase-site.xml $YCSB_HOME/hbase10-binding/conf
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,读改写,客户端读出一个记录,修改它并将被修改的记录返回;
测试环境及命令:
ycsb load hbase10 -P workloads/workloada -p threads=10 -p table=test -p columnfamily=c1 -p recordcount=10
ycsb run hbase10 -P workloads/workloada -threads 10 -p operationcount=100 -p table=test -p columnfamily=c1 -p measurementtype=timeseries -p timeseries.granularity=100 -s > transaction-workloadAA.log
ycsb run hbase10 -P workloads/workloadb -threads 10 -p operationcount=100 -p table=test -p columnfamily=c1 -p measurementtype=timeseries -p timeseries.granularity=100 -s > logs/transaction-workloadAB.log
参数解释:
load 表示这是一次加载数据操作;
hbase10指明了所用的数据库类型;
-P指明了所用的配置文件的路径;
-p 可以显示修改YCSB内置的默认配置,这里配置recordcount=10000来覆盖之前说过的workloada中默认的recordcount=1000;
-s一次加载数据或执行测试的过程实践很长,YCSB客户端需要定时(默认10s)发送状态信息;
结果解释:
注:
1、workloads 目前均在ycsb的安装目录下,故先cd ycsb后执行
2、test为自建的表create 'test','c1'
参考链接:
https://www.cnblogs.com/zhangwuji/p/9156609.html