Server null usually means you haven't configured hbase.zookeeper.quorum in your client's hbase-site.xml file. And that is usually because you are using a Configuration not created by HBaseConfiguration.create()
If so the JAAS warning is a red herring. On May 31, 2012, at 8:52 PM, Amit Sela <[email protected]> wrote: > I'm trying to run a test for HBase (some think we wrote, internal) on my > laptop - runs perfectly with the old versions of Hadoop, HBase and > ZooKeeeper. > > After deploying the new versions and re-compiling our code, I run the test. > > When I try to instantiate "new HBaseAdmin(getConfiguration())" - where the > configuration is from HBaseTestingUtility, I get the following on the > console output: > > 2012-05-31 21:36:51.728 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.client.ZooKeeperSaslClient - > SecurityException: java.lang.SecurityException: Unable to locate a login > configuration occurred when trying to find JAAS configuration. > 2012-05-31 21:36:51.741 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.ClientCnxn - Session 0x0 > for server null, unexpected error, closing socket connection and attempting > reconnect > java.net.ConnectException: Connection refused > at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.6.0_31] > at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) > ~[na:1.6.0_31] > at > org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:286) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1035) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > 2012-05-31 21:36:51.852 [main] WARN > org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper - Possibly > transient ZooKeeper exception: > org.apache.zookeeper.KeeperException$ConnectionLossException: > KeeperErrorCode = ConnectionLoss for /hbase/master > 2012-05-31 21:36:52.847 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.client.ZooKeeperSaslClient - > SecurityException: java.lang.SecurityException: Unable to locate a login > configuration occurred when trying to find JAAS configuration. > 2012-05-31 21:36:52.848 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.ClientCnxn - Session 0x0 > for server null, unexpected error, closing socket connection and attempting > reconnect > java.net.ConnectException: Connection refused > at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.6.0_31] > at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) > ~[na:1.6.0_31] > at > org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:286) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1035) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > 2012-05-31 21:36:53.949 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.client.ZooKeeperSaslClient - > SecurityException: java.lang.SecurityException: Unable to locate a login > configuration occurred when trying to find JAAS configuration. > 2012-05-31 21:36:53.951 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.ClientCnxn - Session 0x0 > for server null, unexpected error, closing socket connection and attempting > reconnect > java.net.ConnectException: Connection refused > at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.6.0_31] > at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) > ~[na:1.6.0_31] > at > org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:286) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1035) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > 2012-05-31 21:36:54.052 [main] WARN > org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper - Possibly > transient ZooKeeper exception: > org.apache.zookeeper.KeeperException$ConnectionLossException: > KeeperErrorCode = ConnectionLoss for /hbase/master > 2012-05-31 21:36:55.052 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.client.ZooKeeperSaslClient - > SecurityException: java.lang.SecurityException: Unable to locate a login > configuration occurred when trying to find JAAS configuration. > 2012-05-31 21:36:55.053 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.ClientCnxn - Session 0x0 > for server null, unexpected error, closing socket connection and attempting > reconnect > java.net.ConnectException: Connection refused > at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.6.0_31] > at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) > ~[na:1.6.0_31] > at > org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:286) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1035) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > 2012-05-31 21:36:56.155 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.client.ZooKeeperSaslClient - > SecurityException: java.lang.SecurityException: Unable to locate a login > configuration occurred when trying to find JAAS configuration. > 2012-05-31 21:36:56.156 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.ClientCnxn - Session 0x0 > for server null, unexpected error, closing socket connection and attempting > reconnect > java.net.ConnectException: Connection refused > at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.6.0_31] > at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) > ~[na:1.6.0_31] > at > org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:286) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1035) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > 2012-05-31 21:36:57.258 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.client.ZooKeeperSaslClient - > SecurityException: java.lang.SecurityException: Unable to locate a login > configuration occurred when trying to find JAAS configuration. > 2012-05-31 21:36:57.259 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.ClientCnxn - Session 0x0 > for server null, unexpected error, closing socket connection and attempting > reconnect > java.net.ConnectException: Connection refused > at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.6.0_31] > at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) > ~[na:1.6.0_31] > at > org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:286) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1035) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > 2012-05-31 21:36:58.360 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.client.ZooKeeperSaslClient - > SecurityException: java.lang.SecurityException: Unable to locate a login > configuration occurred when trying to find JAAS configuration. > 2012-05-31 21:36:58.361 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.ClientCnxn - Session 0x0 > for server null, unexpected error, closing socket connection and attempting > reconnect > java.net.ConnectException: Connection refused > at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.6.0_31] > at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) > ~[na:1.6.0_31] > at > org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:286) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1035) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > 2012-05-31 21:36:58.463 [main] WARN > org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper - Possibly > transient ZooKeeper exception: > org.apache.zookeeper.KeeperException$ConnectionLossException: > KeeperErrorCode = ConnectionLoss for /hbase/master > 2012-05-31 21:36:59.463 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.client.ZooKeeperSaslClient - > SecurityException: java.lang.SecurityException: Unable to locate a login > configuration occurred when trying to find JAAS configuration. > 2012-05-31 21:36:59.464 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.ClientCnxn - Session 0x0 > for server null, unexpected error, closing socket connection and attempting > reconnect > java.net.ConnectException: Connection refused > at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.6.0_31] > at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) > ~[na:1.6.0_31] > at > org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:286) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1035) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > 2012-05-31 21:37:00.565 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.client.ZooKeeperSaslClient - > SecurityException: java.lang.SecurityException: Unable to locate a login > configuration occurred when trying to find JAAS configuration. > 2012-05-31 21:37:00.566 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.ClientCnxn - Session 0x0 > for server null, unexpected error, closing socket connection and attempting > reconnect > java.net.ConnectException: Connection refused > at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.6.0_31] > at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) > ~[na:1.6.0_31] > at > org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:286) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1035) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > 2012-05-31 21:37:01.667 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.client.ZooKeeperSaslClient - > SecurityException: java.lang.SecurityException: Unable to locate a login > configuration occurred when trying to find JAAS configuration. > 2012-05-31 21:37:01.668 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.ClientCnxn - Session 0x0 > for server null, unexpected error, closing socket connection and attempting > reconnect > java.net.ConnectException: Connection refused > at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.6.0_31] > at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) > ~[na:1.6.0_31] > at > org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:286) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1035) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > 2012-05-31 21:37:02.769 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.client.ZooKeeperSaslClient - > SecurityException: java.lang.SecurityException: Unable to locate a login > configuration occurred when trying to find JAAS configuration. > 2012-05-31 21:37:02.770 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.ClientCnxn - Session 0x0 > for server null, unexpected error, closing socket connection and attempting > reconnect > java.net.ConnectException: Connection refused > at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.6.0_31] > at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) > ~[na:1.6.0_31] > at > org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:286) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1035) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > 2012-05-31 21:37:03.871 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.client.ZooKeeperSaslClient - > SecurityException: java.lang.SecurityException: Unable to locate a login > configuration occurred when trying to find JAAS configuration. > 2012-05-31 21:37:03.872 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.ClientCnxn - Session 0x0 > for server null, unexpected error, closing socket connection and attempting > reconnect > java.net.ConnectException: Connection refused > at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.6.0_31] > at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) > ~[na:1.6.0_31] > at > org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:286) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1035) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > 2012-05-31 21:37:04.973 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.client.ZooKeeperSaslClient - > SecurityException: java.lang.SecurityException: Unable to locate a login > configuration occurred when trying to find JAAS configuration. > 2012-05-31 21:37:04.973 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.ClientCnxn - Session 0x0 > for server null, unexpected error, closing socket connection and attempting > reconnect > java.net.ConnectException: Connection refused > at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.6.0_31] > at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) > ~[na:1.6.0_31] > at > org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:286) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1035) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > 2012-05-31 21:37:06.075 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.client.ZooKeeperSaslClient - > SecurityException: java.lang.SecurityException: Unable to locate a login > configuration occurred when trying to find JAAS configuration. > 2012-05-31 21:37:06.075 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.ClientCnxn - Session 0x0 > for server null, unexpected error, closing socket connection and attempting > reconnect > java.net.ConnectException: Connection refused > at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.6.0_31] > at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) > ~[na:1.6.0_31] > at > org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:286) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1035) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > 2012-05-31 21:37:07.176 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.client.ZooKeeperSaslClient - > SecurityException: java.lang.SecurityException: Unable to locate a login > configuration occurred when trying to find JAAS configuration. > 2012-05-31 21:37:07.177 [main-SendThread(localhost.localdomain:2181)] WARN > org.apache.zookeeper.ClientCnxn - Session 0x0 > for server null, unexpected error, closing socket connection and attempting > reconnect > java.net.ConnectException: Connection refused > at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.6.0_31] > at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) > ~[na:1.6.0_31] > at > org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:286) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1035) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > 2012-05-31 21:37:07.278 [main] WARN > org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper - Possibly > transient ZooKeeper exception: > org.apache.zookeeper.KeeperException$ConnectionLossException: > KeeperErrorCode = ConnectionLoss for /hbase/master > 2012-05-31 21:37:07.278 [main] ERROR > org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper - ZooKeeper > exists failed after 3 retries > 2012-05-31 21:37:07.280 [main] WARN > org.apache.hadoop.hbase.zookeeper.ZKUtil - hconnection > Unable to set watcher on znode /hbase/master > org.apache.zookeeper.KeeperException$ConnectionLossException: > KeeperErrorCode = ConnectionLoss for /hbase/master > at org.apache.zookeeper.KeeperException.create(KeeperException.java:99) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > at org.apache.zookeeper.KeeperException.create(KeeperException.java:51) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1021) > ~[zookeeper-3.4.3.jar:3.4.3-1240972] > at > org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.exists(RecoverableZooKeeper.java:150) > ~[hbase-0.94.0.jar:0.94.0] > at > org.apache.hadoop.hbase.zookeeper.ZKUtil.watchAndCheckExists(ZKUtil.java:230) > ~[hbase-0.94.0.jar:0.94.0] > at > org.apache.hadoop.hbase.zookeeper.ZooKeeperNodeTracker.start(ZooKeeperNodeTracker.java:82) > [hbase-0.94.0.jar:0.94.0] > at > org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.ensureZookeeperTrackers(HConnectionManager.java:590) > [hbase-0.94.0.jar:0.94.0] > at > org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getMaster(HConnectionManager.java:632) > [hbase-0.94.0.jar:0.94.0] > at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:108) > [hbase-0.94.0.jar:0.94.0] > ........ > ...... and it repeats itself like that... > > > On Thu, May 31, 2012 at 8:52 PM, Elliott Clark <[email protected]>wrote: > >> Security is optional. That exception is thrown and then caught during >> normal startup. Can you explain what you were trying to do, what happened, >> and paste bin logs/configs ? >> >> On Thu, May 31, 2012 at 10:35 AM, Amit Sela <[email protected]> wrote: >> >>> I still don't understand if it is optional to use the security or not ? >>> >>> if i'll set the following in hbase-site.xml: >>> >>> <property> >>> <name>hbase.zookeeper.property.requireClientAuthScheme</name> >>> <value></value> >>> <description>Property from ZooKeeper's config zoo.cfg. >>> Authentication scheme. >>> </description> >>> </property> >>> >>> will it cancel the need of sasl-authentication ? >>> >>> If I go back to ZooKeeper 3.3.2 (which doesn't support security) - will >>> HBase 0.94 and Hadoop 1.0.3 work or must they run with a ZooKeeper that >>> supports security ? >>> >>> >>> On Thu, May 31, 2012 at 7:01 PM, Andrew Purtell <[email protected]> >>> wrote: >>> >>>> See https://cwiki.apache.org/ZOOKEEPER/zookeeper-and-sasl.html >>>> >>>> For a fully baked (but simple) example configuration, have a look at >>>> https://github.com/apurtell/tm-ec2-demo/ . Start with >>>> >>>> >>> >> https://github.com/apurtell/tm-ec2-demo/blob/master/bin/image/tarball/setup-remote >>>> >>>> On Thu, May 31, 2012 at 8:55 AM, Amit Sela <[email protected]> >> wrote: >>>>> Hi all, >>>>> >>>>> I'm upgrading our cluster with the following versions: >>>>> HBase 0.90.2 to 0.94.0 >>>>> Hadoop 0.20.3 to 1.0.3 >>>>> zookeeper 3.3.2 to 3.4.3 >>>>> >>>>> As a first step, I'm trying to run some tests on my PC and I get a >>>>> SecurityException from zookeeper: >>>>> SecurityException: java.lang.SecurityException: Unable to locate a >>> login >>>>> configuration occurred when trying to find JAAS configuration. >>>>> >>>>> From what I understand, this means that I have to create a JAAS >>>>> configuration file and place it in the conf under HBASE_HOME. >>>>> >>>>> First of all, Is there a way to disable the use of the new security >>>> feature >>>>> - I'm working on a local test cluster for now and I don't really need >>>> it... >>>>> >>>>> If I must use a JAAS conf - could anyone elaborate on how to setup >>>>> everything: Kerberos KDC, JAAS Configuration file, where to put >>>> everything >>>>> and anything else I'm missing here. >>>>> >>>>> Thanks. >>>> >>>> >>>> >>>> -- >>>> Best regards, >>>> >>>> - Andy >>>> >>>> Problems worthy of attack prove their worth by hitting back. - Piet >>>> Hein (via Tom White) >>>> >>> >>
