Hbase压力测试

PerformanceEvaluation是HBase自带的性能测试工具,该工具提供了顺序读写、随机读写、扫描等性能测试功能。本文简要介绍HBase PerformanceEvaluation的使用方法。


5分钟学会使用HBase PerformanceEvaluation-爱财经网





准备工作




1HDFS正常启动:start-dfs.sh
2Mapreduce\\yarn正常启动: start-yarn.sh
3HBase正常启动: start-hbase.sh




运行




1、进入hbase bin目录:cd {mr}/hbase/bin;


2、输入hbase org.apache.hadoop.hbase.PerformanceEvaluation 查看PE帮助信息,如下图:
5分钟学会使用HBase PerformanceEvaluation-爱财经网



写操作

1)  顺序写:sequentialWrite
例如,预分区100 regions,100线程并发,顺序写1亿条数据:
hbase org.apache.hadoop.hbase.PerformanceEvaluation--nomapred --rows=1000000 --presplit=100 sequentialWrite 100


注意事项:
a.  hbase PE默认使用mapreduce作业进行读写扫描数据,如果使用多线程/客户端并发来代替mapreduce作业,需要加上选项 --nomapred


b.  设置每个客户端处理多少行记录,使用参数 --rows,例如 --rows=1000000,即每个线程/客户端处理1000000行记录;


c.  --presplit参数,只有在写数据时使用,读表时使用参数--presplit,会导致之前写的表数据被删除;



d.  最后一个参数100即为100个线程/客户端并发。


2)  随机写:randomWrite
例如,随机写1亿条数据:
hbase org.apache.hadoop.hbase.PerformanceEvaluation--nomapred --rows=1000000 --presplit=100 randomWrite 100


读操作

1)  顺序读:sequentialRead
例如,顺序读1亿条数据:
hbase org.apache.hadoop.hbase.PerformanceEvaluation--nomapred --rows=1000000 sequentialRead 100


2)  随机读:
例如,随机读1亿条数据:
hbase org.apache.hadoop.hbase.PerformanceEvaluation--nomapred --rows=100000 randomRead 100


扫描操作

扫描:scan\\ scanRange10\\ scanRange100\\ scanRange1000\\scanRange10000


hbase org.apache.hadoop.hbase.PerformanceEvaluation--nomapred --rows=1000000 scan 100


hbase org.apache.hadoop.hbase.PerformanceEvaluation--nomapred --rows=100000 scanRange10 100


hbase org.apache.hadoop.hbase.PerformanceEvaluation--nomapred --rows=10000 scanRange100 100


hbase org.apache.hadoop.hbase.PerformanceEvaluation--nomapred --rows=1000 scanRange1000 100


hbase org.apache.hadoop.hbase.PerformanceEvaluation--nomapred --rows=100 scanRange10000 100


注意事项:
Hbase读\\扫描表数据,会优先读取内存数据,所以在写表操作结束后,可手动对表进行一次flush操作,以此清空内存中memstore数据;并且每次读\\扫描测试前,重启hbase,把缓存清掉。

posted @ 2016-08-05 11:41  S-tec  阅读(5533)  评论(0编辑  收藏  举报