hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mohammad Tariq <donta...@gmail.com>
Subject Re: Connecting to standalone HBase from a remote client
Date Sun, 25 Nov 2012 20:44:44 GMT
Hello Matan,

    The client first contact the zookeeper to get the region that holds the
ROOt table. From ROOt, client gets the server that holds META and from
there it gets the info about the server which actually holds the key of the
table of interest. Your client seems to get wrong info. Please add these
props in your client code and see it works :
                hbaseConfiguration.set("hbase.zookeeper.quorum",
"192.168.2.121");
hbaseConfiguration.set("hbase.zookeeper.property.clientPort","2181");
 hbaseConfiguration.set("hbase.master", "192.168.2.121:60000");

Change the ports and addresses as per your config.

HTH

Regards,
    Mohammad Tariq



On Mon, Nov 26, 2012 at 2:07 AM, matan <matan@cloudaloe.org> wrote:

> Hi,
>
> With gracious help on this forum (from ramkrishna vasudevan) I've managed
> to
> setup HBase 0.94.2 in standalone mode on Ubuntu, and proceeded to writing a
> small client. I am trying to run the client from a remote server, not the
> one where HBase is running on. It seems pretty obvious looking at both
> server and client side logs, that my client successfully connects to
> zookeeper, but then tries to perform the actual interaction against the
> wrong network address. It looks like it is wrongfully trying to address
> localhost on the HBase client side rather than addressing the server where
> HBase is installed.
>
> In terms of flow, I guess that zookeeper provides my client with how to
> interact with HBase, and that it informs my client to that end that the
> name
> of the server to contact is 'localhost'. I can guess this may be changed,
> presumably by configuring HBase on the server side. Assuming that the
> correct flow should be that my client would get informed of the real name
> of
> the HBase server, by zookeeper. However I failed managing to configure just
> that. I tried the hbase.master property, but it had no effect.
>
> local HBase shell works just fine. The logs which led me to this analysis
> follow, perhaps you will agree with my analysis. How should I change my
> configuration to solve this? (making my client able to communicate with
> HBase after making the zookeeper connection...).
>
> *Server side log:*
> 2012-11-25 22:25:14,856 INFO
> org.apache.hadoop.hbase.master.AssignmentManager: The master has opened the
> region test4,,1353836779589.bb29c037092c5d69c9efc8f13c2b2563. that was
> online on localhost,58063,1353875103994
> 2012-11-25 22:26:05,670 INFO
> org.apache.zookeeper.server.NIOServerCnxnFactory: Accepted socket
> connection
> from /my-client-ip:49447
> 2012-11-25 22:26:05,672 INFO org.apache.zookeeper.server.ZooKeeperServer:
> Client attempting to establish new session at /my-client-ip:49447
> 2012-11-25 22:26:05,720 INFO org.apache.zookeeper.server.ZooKeeperServer:*
> Established session 0x13b393e9d1d0004 with negotiated timeout 40000 for
> client /my-client-ip:49447*
> 2012-11-25 22:27:05,354 WARN org.apache.zookeeper.server.NIOServerCnxn:
> Exception causing close of session 0x13b393e9d1d0004 due to
> java.io.IOException: Connection reset by peer
> 2012-11-25 22:27:05,355 INFO org.apache.zookeeper.server.NIOServerCnxn:
> Closed socket connection for client /my-client-ip:49447 which had sessionid
> 0x13b393e9d1d0004
>
> *Client side log:*
> 12/11/25 22:25:51 INFO zookeeper.ZooKeeper: Initiating client connection,
> connectString=my-hbase-server-ip:2181 sessionTimeout=180000
> watcher=hconnection
> 12/11/25 22:25:51 INFO zookeeper.ClientCnxn: Opening socket connection to
> server /my-hbase-server-ip:2181
> 12/11/25 22:25:51 INFO zookeeper.RecoverableZooKeeper: The identifier of
> this process is 12372@P-Cloudaloe-01
> 12/11/25 22:25:55 INFO client.ZooKeeperSaslClient: Client will not
> SASL-authenticate because the default JAAS configuration section 'Client'
> could not be found. If you are not using SASL, you may ignore this. On the
> other hand, if you expected SASL to work, please fix your JAAS
> configuration.
> 12/11/25 22:25:55 INFO zookeeper.ClientCnxn: Socket connection established
> to my-hbase-server-ip/my-hbase-server-ip:2181, initiating session
> 12/11/25 22:25:55 INFO zookeeper.ClientCnxn: Session establishment complete
> on server my-hbase-server-ip/my-hbase-server-ip:2181, sessionid =
> 0x13b393e9d1d0004, negotiated timeout = 40000
> 12/11/25 22:25:57 INFO ipc.HBaseRPC: *Server at localhost/127.0.0.1:58063
> could not be reached* after 1 tries, giving up.
> 12/11/25 22:26:00 INFO ipc.HBaseRPC: Server at localhost/127.0.0.1:58063
> could not be reached after 1 tries, giving up.
> 12/11/25 22:26:03 INFO ipc.HBaseRPC: Server at localhost/127.0.0.1:58063
> could not be reached after 1 tries, giving up.
> 12/11/25 22:26:06 INFO ipc.HBaseRPC: Server at localhost/127.0.0.1:58063
> could not be reached after 1 tries, giving up.
> 12/11/25 22:26:10 INFO ipc.HBaseRPC: Server at localhost/127.0.0.1:58063
> could not be reached after 1 tries, giving up.
> 12/11/25 22:26:14 INFO ipc.HBaseRPC: Server at localhost/127.0.0.1:58063
> could not be reached after 1 tries, giving up.
> 12/11/25 22:26:20 INFO ipc.HBaseRPC: Server at localhost/127.0.0.1:58063
> could not be reached after 1 tries, giving up.
> 12/11/25 22:26:26 INFO ipc.HBaseRPC: Server at localhost/127.0.0.1:58063
> could not be reached after 1 tries, giving up.
> 12/11/25 22:26:36 INFO ipc.HBaseRPC: Server at localhost/127.0.0.1:58063
> could not be reached after 1 tries, giving up.
> 12/11/25 22:26:54 INFO ipc.HBaseRPC: Server at localhost/127.0.0.1:58063
> could not be reached after 1 tries, giving up.
> Exception in thread "main"
> org.apache.hadoop.hbase.client.NoServerForRegionException: Unable to find
> region for myLittleHBaseTable,,99999999999999 after 10 tries.
>         at
>
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:955)
>         at
>
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:860)
>         at
>
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:962)
>         at
>
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:864)
>         at
>
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:821)
>         at
> org.apache.hadoop.hbase.client.HTable.finishSetup(HTable.java:234)
>         at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:174)
>         at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:133)
>         at HelloWorld.main(HelloWorld.java:30)
>
> Thanks!
> matan
>
>
>
>
> --
> View this message in context:
> http://apache-hbase.679495.n3.nabble.com/Connecting-to-standalone-HBase-from-a-remote-client-tp4034362.html
> Sent from the HBase User mailing list archive at Nabble.com.
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message