Created on 12-14-2020 02:20 PM - edited on 10-04-2021 09:08 PM by subratadas
Here we demonstrate how to run YCSB workloads for HBase performance testing. The YCSB benchmarking toolkit is available here.
curl -O --location https://github.com/brianfrankcooper/YCSB/releases/download/0.17.0/ycsb-0.17.0.tar.gz
tar xfvz ycsb-0.17.0.tar.gz
hbase shell
echo $JAVA_HOME
export JAVA_HOME=<path-to-jre>
cd ycsb-0.17.0
nohup ./bin/ycsb load hbase20 -p columnfamily=cf -p recordcount=15000000 -p fieldcount=10 -p fieldlength=100 -p workload=site.ycsb.workloads.CoreWorkload -threads 2 -s
cd ycsb-0.17.0
./bin/ycsb run hbase20 -p columnfamily=cf -P workloads/workloada -p requestdistribution=zipfian -p operationcount=15000000 -p recordcount=15000000 -p maxexecutiontime=900 -threads 2 -s
Note: It is best to run YCSB from a dedicated node, if you are running from a cluster node, which is a master or region server node. Ensure the following otherwise, YCSB will be unable to run successfully:
OR
Sometimes the YCSB data load or workloads run but the operation (insert/read/update) shows 0 rows inserted with estimated completion in 106751991167300 days 15 hours.
Error message:
2020-02-04 23:00:09:424 20 sec: 0 operations; est completion in 106751991167300 days 15 hours
To solve this, you need to let the HBase client know where your HBase configuration is, and this can be done in two ways:
./bin/ycsb run hbase20 -cp /etc/hbase/conf -p columnfamily=family -s -P workloads/workloada
YCSB is an open-source specification and program suite for evaluating the retrieval and maintenance capabilities of computer programs. It is a very popular tool used to compare the relative performance of NoSQL database management systems.