質問

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.

役に立ちましたか?

解決

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.

他のヒント

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

conf.set("hbase.zookeeper.property.clientPort","2181");
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top