"HBase性能测试详细设计文档及用例" 本文档旨在详细介绍HBase性能测试的设计文档和实践经验,涵盖了HBase性能测试需要注意的一些参数设置和测试用例。下面是从该文档中提炼的相关知识点: 1.1 Pre-Creating Regions 在HBase中,默认情况下,在创建表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这个region写数据,直到这个region足够大了才进行切分。为了加快批量写入速度,可以通过预先创建一些空的regions,这样当数据写入HBase时,会按照region分区情况,在集群内做数据的负载均衡。 1.2 Compact & Split 在HBase中,数据在更新时首先写入WAL日志(HLog)和内存(MemStore)中,MemStore中的数据是排序的,当MemStore累计到一定阈值时,就会创建一个新的MemStore,并且将老的MemStore添加到flush队列,由单独的线程flush到磁盘上,成为一个StoreFile。于此同时,系统会在zookeeper中记录一个redo point,表示这个时刻之前的变更已经持久化了(minor compact)。StoreFile是只读的,一旦创建后就不可以再修改。因此HBase的更新其实是不断追加的操作。当一个Store中的StoreFile达到一定的阈值后,就会进行一次合并(major compact),将对同一个key的修改合并到一起,形成一个大的StoreFile,当StoreFile的大小达到一定阈值后,又会对StoreFile进行分割(split),等分为两个StoreFile。 1.3 压缩方式 在Hadoop和HBase文件传输可以在压缩之后在进行传输,这样就可以在传输的时候减少传输数据,增大I/O和带宽效率。在Hadoop中主要提供了三种压缩方式Gzip、LZO、Snappy三种数据压缩。实际使用中,可以考虑分别尝试两种压缩模式,选出最适合业务场景要求的。 2.1 Row Key设计 HBase中的row key用来检索表中的记录,支持以下三种方式:通过单个row key键值进行get操作;通过row key的range进行scan;全表扫描。row key是按照字典序存储,因此,设计row key时,要充分利用这个排序特点,将经常一起读取的数据存储到一块,将最近可能会被访问的数据放在一块。如果最近写入HBase表中的数据是最可能被访问的,可以考虑将时间戳作为row key的一部分,由于是字典序排序,所以可以使用Long.MAX_VALUE – timestamp作为row key,这样能保证新写入的数据在读取时可以被快速命中。 2.2 多HTable并发写 创建多个HTable客户端用于写操作,提高写数据的吞吐量。 2.3 HTable参数设置 2.3.1 Auto Flush 通过调用HTable.setAutoFlush(false)方法可以将HTable写客户端的自动flush关闭,这样可以批量写入数据到HBase,而不是有一条put就执行一次更新,只有当put填满客户端写缓存时,才实际向HBase服务端发起写请求。默认情况下auto flush是开启的。 2.3.2 Write Buffer 通过调用HTable.setWriteBufferSize(writeBufferSize)方法可以设置HTable客户端的写buffer大小,如果新设置的buffer小于当前写buffer中的数据时,buffer将会被flush到服务端。其中,writeBufferSize的单位是byte字节数,可以根据实际写入数据量的多少来设置该值。 2.3.3 WAL Flag 在HBase中,客户端向集群中的RegionServer提交数据时(Put/Delete),可以通过设置WAL Flag来控制写入的行为。如果WAL Flag设置为true,那么写入操作将被记录到WAL中,以便在 RegionServer崩溃时可以恢复数据。如果WAL Flag设置为false,那么写入操作将不会被记录到WAL中,以提高写入性能。
剩余17页未读,继续阅读
- 聆听随风2019-01-03抄的 不值
- yl9007112015-10-14不是很推荐下载 写的内容很简单
- qq_356201842018-12-04压力测试代码的话,比较简单
- liwenhjuan2021-01-14不推荐,感觉不划算哦
- boyangcool2015-06-14用例比较全,可以
- 粉丝: 1
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 汇编语言安装文件:nasm-2.16.03
- Java 插件框架 (PF4J).zip
- image-svnadmin-2.5.3.tgz 正在使用ing,方便简单使用,运维好工具
- 地平线ros2文件.zip
- Java 多线程课程的代码及少量注释.zip
- 数据库课程设计-基于的个性化购物平台的建表语句.sql
- 数据库课程设计-基于的图书智能一体化管理系统的建表语句.sql
- Java 代码覆盖率库.zip
- Java 代码和算法的存储库 也为该存储库加注星标 .zip
- 免安装Windows10/Windows11系统截图工具,无需安装第三方截图工具 双击直接使用截图即可 是一款免费可靠的截图小工具哦~