要提高Hbase的读取服从除了好的rowkey设计,另有一种思绪是尽大概的让其掷中缓存(BlockCache)(这个缓存可以用内存也可以用固态硬盘,固态硬盘三个9也能达到毫秒级别)。数据到BlockCache有两种方式,一种是在读取数据的时候会把相应的数据放入BlockCache,另一种是在写入数据的时候放入到BlockCache,但这个默认是关闭的,接下来详细说明一下第二种放方式HBase BlockCache On Write 配置。
HBase BlockCache On Write 配置
- 配置概述
在 HBase 中,BlockCache 是用来缓存数据块以加快读取利用的组件。“BlockCache on write” 是指在数据写入(正常的put或bulkload)时是否将数据块缓存到 BlockCache 中的配置。这个配置可以通过 HBase 的配置文件 hbase-site.xml 举行设置。
- 配置参数
hbase.rs.cacheblocksonwrite: 这个配置项决定了区域服务器(RegionServer)在写利用时是否将数据块缓存到 BlockCache 中。默认情况下,这个配置是关闭的。
hbase.rs.cachecompactedblocksonwrite: 这个配置项指定了在压缩利用后是否缓存压缩后的数据块。它可以资助加快对压缩数据块的读取,但会增长内存的使用。
- 配置示例
在 hbase-site.xml 文件中,可以通过添加如下配置来启用 “BlockCache on write”:
- <configuration>
- <!-- 启用写操作时的缓存 -->
- <property>
- <name>hbase.rs.cacheblocksonwrite</name>
- <value>true</value>
- </property>
- <!-- 启用压缩操作后的缓存 -->
- <property>
- <name>hbase.rs.cachecompactedblocksonwrite</name>
- <value>true</value>
- </property>
- </configuration>
复制代码
- 启用 “BlockCache on write” 大概会增长内存的使用量,由于写入的数据块也会被缓存。
- 在内存资源有限的情况下,过度的缓存大概会导致老的数据块被逐出,从而影响读取性能。
- 根据实际的工作负载和内存资源,公道配置 “BlockCache on write” 可以在写入性能和读取性能之间取得平衡。
总结
配置 “BlockCache on write” 可以提高 HBase 的读取性能,但必要考虑到内存资源的限定。在实际使用时,应根据必要和资源状况举行得当的配置调整。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |