HBASE ERROR: Failed setting up proxy interface org.apache.hadoop.hbase.ipc.HRegionInterface HBASE ERROR: Failed setting up proxy interface org.apache.hadoop.hbase.ipc.HRegionInterface hadoop hadoop

HBASE ERROR: Failed setting up proxy interface org.apache.hadoop.hbase.ipc.HRegionInterface


I don't know if this is your problem, but it generally is a problem to use localhost if you are not accessing everything from the same host.

So don't use localhost!

And in general don't change the definition of localhost. Localhost is 127.0.0.1 by defintion.

You define hbase.rootdir as hdfs://master:54310/hbase and hbase.zookeeper.quorum as master.

What is master? It really should be a fully qualified domain name of the main ethernet interface of your host. The reverse DNS of the IP address of that interface should resolve to the same FQDN that you fill in to these fields. (Or just us the raw IP address if you can't control the reverse dns)

Make sure your HDFS configs also use the same FQDN's or IP addresses or synchronized /etc/hosts files. Synchronized /etc/hosts files should make sure the forward and reverse DNS is the same as long as all the hosts (all the HDFS and HBase and your clients) use the same /etc/hosts and there is no OS stuff overriding the /etc/hosts. In general I don't like to do anything with /etc/hosts. It will eventually bite you.

Your remote client should then access your HBase master via the same FQDN or IP address.

I have found that this kind of DNS issues can cause quite a bit of confusion.

If you need a reality check, just use IP addresses everywhere till you make it work. Then experiment with Fully Qualified Domain Names or synchronized /etc/hosts files.


I had something like this in /etc/hosts:

127.0.0.1   localhost127.0.1.1   <hostname>

I changed it to solve <hostname> to 127.0.0.1 and that seemed to solve the problem.

127.0.0.1   localhost <hostname>


Many thanks to @Robert J Berger to leading me to the answer to the same issue. I wasn't having issue #1, but I was having issue #2, with the server reporting:

Failed setting up proxy interface org.apache.hadoop.hbase.ipc.HRegionInterface to localhost/127.0.0.1:60020 after attempts=1

However, his answer was focusing on the 'master' side so I'd thought I'd expand on his with my own answer. My DNS (used by all machines in the cluster) resolves 'master' so client connection to the server was not the issue (was working regardless of 'master' being only hostname, not FQDN). [I agree w/ Robert that avoiding /etc/hosts modifications is ultimately the most maintainable solution.]

My issue was the server connecting to the client. Hbase is using the hostname of the machine to resolve the IP to bind internal communications to, and it turns out I had this set on master properly but not the nodes.

It was due to how the /etc/hosts file was being built on the regionserver nodes as they were getting issued. The hbase server errors disappeared when i changed /etc/hosts on each node from:

127.0.0.1    node-hostname

to:

<actual ip>  node-hostname

Now the Hbase server sees the nodes properly and can build proxies to each.