HBase 作为基于列存储的 NoSQL 数据库,挺适合大数据的存储和。你要是用 HBase 来做项目,性能调优绝对得注意。因为,默认配置下它比较吃资源,是并发量大的时候容易出错。比如,Linux 的最大文件数默认是 1024,会碰到‘Too Many Open Files’的错误。这个你可以通过ulimit -n 4096临时调整,或者在配置文件中长期修改。

此外,JVM 的堆内存大小也得调整一下。HBASE_HEAPSIZE 4000,设置为 4000MB,能让 JVM 更稳定。GC 配置方面,可以考虑使用并发收集模式,像-XX:+UseConcMarkSweepGC这种。

HBase 的配置文件hbase-site.xml里,有几个参数值得调整,像zookeeper.session.timeout可以适当调低,减少 failover 的时间。hbase.regionserver.handler.count决定了 RegionServer 的 IO 线程数,根据内存大小适当调整,可以提高吞吐量。还有hbase.hregion.max.filesizehfile.block.cache.size这些,针对存储和读取性能的提升有。

,HBase 调优不仅仅是调整配置,还要根据实际应用的负载来做优化,才能保证系统平稳运行。