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. >>>>> >>>>> >>>>> >>>>> >
