面试题答案
一键面试1. 集群负载
- 读写请求量:若读请求频繁,需保证有足够内存使热点数据常驻memstore以加快读取;写请求多则需更大空间暂存写入数据,避免频繁flush。
- 业务高峰低谷:了解业务高峰时段,在规划容量时预留额外空间应对高峰写入压力。
2. 硬件资源
- 内存总量:受限于服务器物理内存,要合理划分HBase与其他进程使用内存,避免因内存不足导致系统不稳定。
- CPU性能:如果CPU性能强劲,能更快处理内存数据操作,可适当增加memstore缓冲区容量,充分利用CPU资源。
3. 数据特性
- 数据量大小:大数据量场景下需较大memstore空间缓存,防止短时间大量数据写入导致频繁flush影响性能。
- 数据写入模式:突发写入模式要求memstore容量能缓冲突发数据,而稳定写入模式可根据平均写入速率规划容量。
4. Region分布
- Region数量:Region多意味着memstore实例多,若每个Region分配过多容量,可能耗尽内存;过少则影响单个Region性能,需平衡Region数量与每个Region的memstore容量。
- 热点Region:对热点Region应适当增加memstore容量,确保其能高效处理读写操作。
5. 持久化策略
- Flush策略:频繁flush虽能减少memstore占用内存,但会增加磁盘I/O。合理调整flush阈值与策略,配合memstore容量规划,可优化系统整体性能。
- Compaction策略:不同的Compaction策略对memstore容量需求有影响,如大文件合并策略可能需要更多内存支持。