Sorry, that's a typo in my email. Here is my config file again (that doesn't work)

<configuration>
<property>
<name>hbase.zookeeper.quorum</name>
<value>ip-AA-BBB-C-DDD.ec2.internal</value>
<description>Standalone Server</description>
</property>
</configuration>

I double checked, and I am using ip-AA-BBB-C-DDD.ec2.internal consistently in config files and code.

P




On 1/12/12 4:24 PM, Jean-Daniel Cryans wrote:
Yes, it's the same thing, which is why I think the additional
ec2.internal in your hbase-site is suspicious. Let me reiterate:

This works:

echo stat|nc ip-XX-YYY-Z-QQQ.ec2.internal 2181

But this config doesn't:

<value>ip-XX-YYY-Z-QQQ.ec2.internal.ec2.internal</value>

Now what happens if you just use the same one, the one that works?

J-D

On Thu, Jan 12, 2012 at 12:45 PM, Peter Wolf<[email protected]>  wrote:
I'm a N00B, so I'm not sure of anything... but it is working now using the
Java Client API, and XXX.ec2.internal address on both server and client.

The problem seems to be 'hbase shell', which is odd as I would have thought
it sat on top of the Java API.

P




On 1/12/12 1:22 PM, Jean-Daniel Cryans wrote:
Your config file on the remote machine has:

ip-XX-YYY-Z-QQQ.ec2.internal.ec2.internal

You sure about the extra ec2.internal?

J-D

On Thu, Jan 12, 2012 at 9:26 AM, Peter Wolf<[email protected]>    wrote:
Oh yeah!  The code did it :-D

For those that come after, I guess 'hbase shell' is broken for remote
access.  Use the raw Java API

Many thanks again Mark!




On 1/12/12 11:40 AM, Mark Kerzner wrote:
1. Look in the logs;
2. I think hbase shell works only locally;
3. The code below worked for me, and I don't use a config file, but give
the params directly:

     public void connect() throws IOException {
         Configuration hConf = HBaseConfiguration.create();
         hConf.set(MyConstants.HBASE_CONFIGURATION_ZOOKEEPER_QUORUM,
MyConstants.zookeeperUrl);
         hConf.set(MyConstants..HBASE_CONFIGURATION_ZOOKEEPER_CLIENTPORT,
MyConstants.zookeeperPort);
         String tableName = "MyTable";
         HTable hTable = new HTable(hConf, tableName);
         hTable.close();
     }

Mark

On Thu, Jan 12, 2012 at 10:20 AM, Peter Wolf<[email protected]>
  wrote:

Still no love...  Any suggestions?

I'm on EC2, and I am trying to set up a Pseudo-Distributed HBaser
Server
on one machine, and access it from another.  Both machines are EC2.

I have already found the doc below, and I followed the instructions



http://hbase.apache.org/book.**html#client_dependencies<http://hbase.apache.org/book.html#client_dependencies>


My server is up and running, and I can access it from an 'hbase shell'
on
the machine.  The hbase-site.xml is ...

   <configuration>
   <property>
   <name>hbase.zookeeper.quorum</**name>
   <value>ip-XX-YYY-Z-QQQ.ec2.**internal</value>
   </property>
   <property>
   <name>hbase.cluster.**distributed</name>
   <value>true</value>
   </property>
   <property>
   <name>hbase.rootdir</name>
   <value>hdfs://localhost/hbase<**/value>
   </property>
   </configuration>

The client machine hbase-site.xml is...

   <configuration>
   <property>
   <name>hbase.zookeeper.quorum</**name>
   <value>ip-XX-YYY-Z-QQQ.ec2.**internal.ec2.internal</value>
   <description>Pseudo Distributed Server</description>
   </property>
   </configuration>

And when I try 'hbase shell' remotely, I get this...

   hbase(main):001:0>      status 'detailed'

   ERROR: org.apache.hadoop.hbase.**ZooKeeperConnectionException: HBase
   is able to connect to ZooKeeper but the connection closes
   immediately. This could be a sign that the server has too many
   connections (30 is the default). Consider inspecting your ZK server
   logs for that error and then make sure you are reusing
   HBaseConfiguration as often as you can. See HTable's javadoc for
   more information.





Reply via email to