我的6节点Hbase群集(1个主站 - 5个从站)具有以下硬件配置
每个节点的配置
2.4Ghz,48核心Intel CPU
256GB RAM
1Gb / ps网络连接
30 x SSD磁盘(JBOD设置)
操作系统:RHEL 6.6
Hbase版本:1.2.0
CDH分布:5.7.0
我在Hbase中调整了以下参数:
hbase.client.write.buffer: 64MB
hbase.regionserver.handler.count: 64
master_region_java_heapsize: 125GB
hbase.client.scanner.caching: 10000
hbase.hregion.memstore.flush.size: 8GB
hbase.hregion.max.filesize:100GB
通过这种设置,我可以在250线程下使用YCSB获得85000 IOPS,50%读取和50%写入。
任何人都可以建议我进行任何配置更改,这将有助于我产生更多的IOPS。
答案 0 :(得分:1)
了解有关您的设置的详细信息会有所帮助。 (分发,操作系统,群集状态,存储等)
另外,你的目标是在ycsb中更好的数字。
浏览您的配置,我觉得如果您有快速存储(ssd,ramdisk等),网络将会饱和。
总的来说,我会说坚持基础。
以下是一些可能对您有帮助的内容:
我希望你已阅读有关表演的官方文件,如果不是[1]。
关于调整HBase的JVM(特别是GC)有一个很好的写作。 [2] [3] [4]
在apache HBase博客中,HDD,SSD和RAM磁盘之间有一个有趣的性能比较。 [5]
[1] https://hbase.apache.org/book.html#performance
[2] http://blog.cloudera.com/blog/2014/12/tuning-java-garbage-collection-for-hbase/ [3] https://software.intel.com/en-us/blogs/2014/06/18/part-1-tuning-java-garbage-collection-for-hbase [4] http://product.hubspot.com/blog/g1gc-tuning-your-hbase-cluster
[5] https://blogs.apache.org/hbase/entry/hdfs_hsm_and_hbase_part
[6]加分视频! - https://vimeo.com/127778854