Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to run YCSB against remote HBase #886

Closed
gioargyr opened this issue Dec 23, 2016 · 5 comments
Closed

How to run YCSB against remote HBase #886

gioargyr opened this issue Dec 23, 2016 · 5 comments

Comments

@gioargyr
Copy link

I have a 1+2 cluster running Hadoop-2.5.2 and HBase-1.2.3 (both fully distributed) running with no problems at all(verified). I downloaded and built the most recent version of YCSB (0.13.0) to run it against HBase! I also made the "usertable" table with "family" column.

[1st case]I run YCSB from the Hadoop-HBase-master-VM with this command: ./bin/ycsb load hbase10 -P workloads/workloada -p columnfamily=family and everything works fine.
[2nd case] I want to have another VM which runs exclusively YCSB (a ycsb-client-VM). But, when I try to run YCSB from another VM I can't manage to run the afforementioned command succesfully. I tried with a lot of ways (I have already created /conf dir inside hbase10-binding and stored hbase-site.xml in it), and each time a get a different error which will make the post huge if I mention all of them here.

Has anyone run YCSB against HBase from a different server than HBase is running?

Is there any tutorial on how to run YCSB from dedicated ycsb-client-vm?

@risdenk
Copy link
Collaborator

risdenk commented Dec 23, 2016

You need to make sure you have the hbase/conf directory on the YCSB classpath. That would mean copying the conf directory used for HBase to the YCSB client machine. It sounds like you tried to do something like this.

Can you share the specific commands tried and errors received?

@risdenk risdenk added the hbase label Dec 23, 2016
@gioargyr
Copy link
Author

There is an hbase10-binding directory, but there wasn't any hbase10-binding/conf directory. So, according to this: https://github.com/brianfrankcooper/YCSB/tree/master/hbase10 (7th step), I created the hbase10-binding/conf directory. After that, I stored only hbase-site.xml in it. As I understand from what you say, I need to store all the files from hbase/conf (hbase-master-VM) in hbase10-binding/conf (in ycsb-client-VM), . Please, verify if I understand what you say.

The last error I keep getting is "java.lang.ArrayIndexOutOfBoundsException", when I run the command: ./bin/ycsb load hbase10 -P workloads/workloada -p columnfamily=family

@risdenk
Copy link
Collaborator

risdenk commented Dec 23, 2016

Share the full stack traces. That would give a full picture of what is happening.

On your HBase machine, there is a conf directory with hbase-site.xml and others. Copy that folder to a location on your YCSB machine. It doesn't have to be under the binding directory. When you run YCSB do the following:

./bin/ycsb load hbase10 -cp PATH_TO_HBASE_CONF_DIR -P workloads/workloada -p columnfamily=family

This is outlined here: https://github.com/brianfrankcooper/YCSB/tree/master/hbase098#4-run-the-workload

@gioargyr
Copy link
Author

gioargyr commented Jan 3, 2017

Hello again!
I just managed (I was sooo late because we had several issues with my VMs powered by OpenStack in my lab the last days!) to try what you suggested and everything went fine!
Of course I got the well-known warning "java.io.IOException: No FileSystem for scheme: hdfs" but as I see in other issues it isn't important and I can get rid of it if I want.
Just to mention that I had to add the alias-names of the hbase-cluster-vms with their ips to the /etc/hosts of the dedicated ycsb-client-vm.
Thank you very much. I was really confused with the hbase-conf thing and there is literally no tutorial or anything in the whole internet regarding this issue.
(Happy New Year!)

@gioargyr gioargyr closed this as completed Jan 3, 2017
@2victoria
Copy link

how can I aviod the warning "java.io.IOException: No FileSystem for scheme: hdfs"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants