Reputation: 2359
I have a following Hardware configuration for my 6 Node Hbase Cluster (1 Master - 5 Slaves)
Configuration of Each Node
2.4Ghz, 48 Core Intel CPU
256GB RAM
1Gb/ps Network Connectivity
30 x SSD Disks (JBOD Setup)
OS: RHEL 6.6
Hbase Version:1.2.0
CDH Distribution: 5.7.0
I have tuned following Parameters in 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
With this setup I am able to get 85000 IOPS with 50% Read and 50% Writes using YCSB at 250 Threads.
Can anyone suggest me any configuration changes that will help me in generating more IOPS.
Upvotes: 0
Views: 732
Reputation: 526
Having more details about your setup would help. (Distribution, OS, State of the cluster, Storage etc)
Also, Is your goal just better numbers in ycsb.
Skimming through your configuration, I feel that if you have fast storage (ssd, ramdisk or so), the network is going to be saturated.
In general advice, I'd say stick to basics.
Here are some content which might help you :
I hope you have read through the official docs on performance, if not [1].
There is a nice writeup on tuning the JVM (GC specifically) for HBase. [2] [3] [4]
There is an interesting performance comparison in apache HBase blog between HDD, SSD and RAM disk. [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] Bonus video! - https://vimeo.com/127778854
Upvotes: 1