HBase 的参数很多,一般都是在使用和优化的过程中不断地调整的,这里只列举出比较重要和常用的几个HBase参数优化方案,大家可以参考一下。
合并与分裂
- hbase.hregion.majorcompaction storeFile 的合并时间间隔 - hbase.regionserver.regionSplitLimit 最大的 region 数量 - hbase.hregion.max.filesize 每个 region 的最大限制 这三个参数,是用于控制 StoreFile 的合并和 Region 的分裂的。在生产环境下,这两个操作一般都会设置为禁止自动合并和禁止自动 split,因为这两步的操作都是比较耗费资源的,自动会让操作时间不可控,如果是在业务繁忙的时间做了这些操作造成的影响是非常大的,所以一般配置禁止自动,转为自己管理,在系统没那么繁忙的晚上手动出发相关操作。
内存
file.block.cache.size BlockCache 的内存大小限制 hbase.regionserver.global.memstore.upperLimit Memstore 占用内存在总内存中的比例 RegionServer 的内存主要分为两块,读缓存 block cache 和写缓存 memstore,第一个配置是 block cache 的内存大小限制,第二个配置是 memstore 占用内存在总内存中的比例,所以这两个配置要配合使用才能控制读和写缓存的大小。 block cache 默认是 0.25,在读多于写的业务中,可以适当调大该值。upperLimit 默认值 0.4,写偏多的场景可以适量调大建议 0.45,RegionSerever 中 block cache 和 memstore cache 的总大小不会超过 0.8,太大可能会造成 oom。
更多关于“大数据培训”的问题,欢迎咨询千锋教育在线名师。千锋教育多年办学,课程大纲紧跟企业需求,更科学更严谨,每年培养泛IT人才近2万人。不论你是零基础还是想提升,都可以找到适合的班型,千锋教育随时欢迎你来试听。