1.hbase.hstore.blockingStoreFiles
hbase.hstore.blockingStoreFiles | 1500 |
在HBase中,一个Region被分成多个HStore,每个HStore由多个StoreFile组成。当一个HStore中的StoreFile数量达到一定阈值时,HBase会将其合并成一个更大的StoreFile,以减少读取StoreFile的次数。blockingStoreFiles参数指定了一个HStore中最多可以有多少个StoreFile,达到这个阈值后,HBase会触发StoreFile的合并操作。如果这个参数设置得太小,会导致频繁的StoreFile合并,影响系统性能;如果设置得太大,会导致一个HStore中的StoreFile数量过多,读取StoreFile的次数增加,也会影响系统性能。因此,需要根据实际情况合理设置blockingStoreFiles参数。
2.hbase.wal.provider
hbase.wal.provider | multiwal |
hbase.wal.regiongrouping.numgroups | 60 |
这两个组合使用做到多个region写多个wal。
默认是写一个wal会存在写加锁,影响写入性能。
hbase.wal.provider分为defaultProvider、filesystem和multiwal
hbase.wal.regiongrouping.numgroups 只有当hbase.wal.provider为multiwal时才会生效,设置代理提供者的数目,默认值为2
HBase MultiWAL
MultiWAL是一种优化技术,它可以在多个 RegionServer 上同时处理多个 WAL(写入日志),从而提高写入效率。
- 提高写入效率: 多个 RegionServer 同时处理多个 WAL,可以大大提高写入效率,缩短写入时间。
- 减少数据丢失: 当一个 RegionServer 出现故障时,其他 RegionServer 可以继续处理其他 WAL,从而减少数据丢失的可能性。
- 提高系统可靠性: 多个 RegionServer 同时处理多个 WAL,可以提高系统的可靠性,减少系统故障的可能性。
- 降低存储成本: 多个 RegionServer 同时处理多个 WAL,可以降低存储成本,减少存储空间的使用。
- 提高扩展性: 多个 RegionServer 同时处理多个 WAL,可以提高系统的扩展性,支持更多的写入请求。