Question

I'm trying to set up a Test Cluster on Amazon EMR. With one Master and two Slave Nodes, Ports open 60000-65535 and on Master 2181 too.

hbase hbck

Version: 0.92.0

Number of Tables: 2
Number of live region servers: 2
Number of dead region servers: 0
Master: 10.33.204.***,60000,1371570170893
Number of backup masters: 0
Number of empty REGIONINFO_QUALIFIER rows in .META.: 0
Summary:
  -ROOT- is okay.
  Number of regions: 1
    Deployed on:  ip-10-33-188-***.eu-west-1.compute.internal,60020,1371570165684
  .META. is okay.
    Number of regions: 1
    Deployed on:  ip-10-33-159-***.eu-west-1.compute.internal,60020,1371570171430
  firstTS is okay.
    Number of regions: 1
    Deployed on:  ip-10-33-159-***.eu-west-1.compute.internal,60020,1371570171430
  sensorValues is okay.
    Number of regions: 1
    Deployed on:  ip-10-33-159-***.eu-west-1.compute.internal,60020,1371570171430

So the Region Server is up and running, my client can connect to the Zookeeper instance on the Master node:

conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum", "ec2-54-******.eu-west-1.compute.amazonaws.com");

But throws the Error after executing HTableInterface table = pool.getTable("sensorValues");

org.apache.hadoop.hbase.client.NoServerForRegionException: Unable to find region for sensorValues,,99999999999999 after 10 tries.

I couldn't find anything usefull in the logs provided by the HBase Master WebUI.

I used the hbase-site.xml as it was generated bei Amazon EMR:

  <configuration>
    <property><name>fs.hdfs.impl</name><value>emr.hbase.fs.BlockableFileSystem</value></property>
    <property><name>hbase.regionserver.handler.count</name><value>100</value></property>
    <property><name>hbase.zookeeper.quorum</name><value>ip-10-33-204-***.eu-west-1.compute.internal</value></property>
    <property><name>hbase.rootdir</name><value>hdfs://10.33.204.***:9000/hbase</value></property>
    <property><name>hbase.cluster.distributed</name><value>true</value></property>
    <property><name>hbase.tmp.dir</name><value>/mnt/var/lib/hbase/tmp-data</value></property>
  </configuration>

Is this problem related to the Binding of the region servers to the internal private DNS-Domain? How can i fix this?

UPDATE: After a second try with exactly the same setup I didn't get the error. The region-servers need to have domain names that are accessible from the client. So I moved my Application also in the Amazon Cloud, where the region servers are accessible through the private DNS.

Was it helpful?

Solution

After a second try with exactly the same setup I didn't get the error. The region-servers need to have domain names that are accessible from the client. So I moved my Application also in the Amazon Cloud, where the region servers are accessible through the private DNS.

OTHER TIPS

Add this property in your client and see if it works :

conf.set("hbase.zookeeper.property.clientPort","2181");
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top