rg.apache.zookeeper.client.ZooKeeperSaslClient: SecurityException: java.lang.SecurityException: 无法定位

今天在我的单机Linux上面安装HBase后在启动时候发现报如下异常:

 

2012-09-02 14:38:30,303 INFO org.apache.hadoop.hbase.master.MasterFileSystem: No logs to split
2012-09-02 14:38:31,308 INFO org.apache.hadoop.hbase.catalog.RootLocationEditor: Unsetting ROOT region location in ZooKeeper
2012-09-02 14:38:31,308 INFO org.apache.zookeeper.server.PrepRequestProcessor: Got user-level KeeperException when processing sessionid:0x13985b3a3530000 type:delete cxid:0×24 zxid:0×10 txntype:-1 reqpath:n/a Error Path:/hbase/root-region-server Error:KeeperErrorCode = NoNode for /hbase/root-region-server
2012-09-02 14:38:31,323 WARN org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper: Node /hbase/root-region-server already deleted, and this is not a retry
2012-09-02 14:38:31,325 DEBUG org.apache.hadoop.hbase.zookeeper.ZKAssign: master:43124-0x13985b3a3530000 Creating (or updating) unassigned node for 70236052 with OFFLINE state
2012-09-02 14:38:31,332 DEBUG org.apache.hadoop.hbase.master.AssignmentManager: Setting table -ROOT- to ENABLED state.
2012-09-02 14:38:31,349 DEBUG org.apache.hadoop.hbase.master.AssignmentManager: No previous transition plan was found (or we are ignoring an existing plan) for -ROOT-,,0.70236052 so generated a random one; hri=-ROOT-,,0.70236052, src=, dest=localhost,58096,1346567907222; 1 (online=1, available=1) available servers
2012-09-02 14:38:31,349 DEBUG org.apache.hadoop.hbase.master.AssignmentManager: Assigning region -ROOT-,,0.70236052 to localhost,58096,1346567907222
2012-09-02 14:38:31,349 DEBUG org.apache.hadoop.hbase.master.ServerManager: New connection to localhost,58096,1346567907222
2012-09-02 14:38:31,351 INFO org.apache.zookeeper.ZooKeeper: Initiating client connection, connectString=localhost:2181 sessionTimeout=180000 watcher=hconnection
2012-09-02 14:38:31,351 INFO org.apache.zookeeper.ClientCnxn: Opening socket connection to server /127.0.0.1:2181
2012-09-02 14:38:31,351 WARN org.apache.zookeeper.client.ZooKeeperSaslClient: SecurityException: java.lang.SecurityException: 无法定位登录配置 occurred when trying to find JAAS configuration.
2012-09-02 14:38:31,352 INFO org.apache.zookeeper.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.
2012-09-02 14:38:31,352 INFO org.apache.zookeeper.server.NIOServerCnxnFactory: Accepted socket connection from /127.0.0.1:46486
2012-09-02 14:38:31,352 INFO org.apache.zookeeper.ClientCnxn: Socket connection established to localhost/127.0.0.1:2181, initiating session
2012-09-02 14:38:31,352 INFO org.apache.zookeeper.server.ZooKeeperServer: Client attempting to establish new session at /127.0.0.1:46486
2012-09-02 14:38:31,356 INFO org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper: The identifier of this process is 3169@wangchongan
2012-09-02 14:38:31,359 INFO org.apache.zookeeper.server.ZooKeeperServer: Established session 0x13985b3a3530002 with negotiated timeout 40000 for client /127.0.0.1:46486
2012-09-02 14:38:31,363 INFO org.apache.zookeeper.ClientCnxn: Session establishment complete on server localhost/127.0.0.1:2181, sessionid = 0x13985b3a3530002, negotiated timeout = 40000
2012-09-02 14:38:31,378 INFO org.apache.hadoop.ipc.HBaseRPC: Server at localhost/127.0.0.1:58096 could not be reached after 1 tries, giving up.
2012-09-02 14:38:31,379 WARN org.apache.hadoop.hbase.master.AssignmentManager: Failed assignment of -ROOT-,,0.70236052 to localhost,58096,1346567907222, trying to assign elsewhere instead; retry=0
org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed setting up proxy interface org.apache.hadoop.hbase.ipc.HRegionInterface to localhost/127.0.0.1:58096 after attempts=1
at org.apache.hadoop.hbase.ipc.HBaseRPC.handleConnectionException(HBaseRPC.java:291)
at org.apache.hadoop.hbase.ipc.HBaseRPC.waitForProxy(HBaseRPC.java:259)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1294)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1250)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1237)
at org.apache.hadoop.hbase.master.ServerManager.getServerConnection(ServerManager.java:550)
at org.apache.hadoop.hbase.master.ServerManager.sendRegionOpen(ServerManager.java:483)
at org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1634)
at org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1358)
at org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1333)
at org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1328)
at org.apache.hadoop.hbase.master.AssignmentManager.assignRoot(AssignmentManager.java:2178)
at org.apache.hadoop.hbase.master.HMaster.assignRootAndMeta(HMaster.java:632)
at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:529)
at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:344)
at org.apache.hadoop.hbase.master.HMasterCommandLine$LocalHMaster.run(HMasterCommandLine.java:220)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567)
at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:489)
at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.setupConnection(HBaseClient.java:328)
at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.setupIOstreams(HBaseClient.java:362)
at org.apache.hadoop.hbase.ipc.HBaseClient.getConnection(HBaseClient.java:1046)
at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:898)
at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:150)
at $Proxy12.getProtocolVersion(Unknown Source)
at org.apache.hadoop.hbase.ipc.WritableRpcEngine.getProxy(WritableRpcEngine.java:183)
at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:335)
at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:312)
at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:364)
at org.apache.hadoop.hbase.ipc.HBaseRPC.waitForProxy(HBaseRPC.java:236)
… 15 more
2012-09-02 14:38:31,381 WARN org.apache.hadoop.hbase.master.AssignmentManager: Unable to find a viable location to assign region -ROOT-,,0.70236052
2012-09-02 14:38:37,147 INFO org.apache.hadoop.hbase.util.ChecksumType: org.apache.hadoop.util.PureJavaCrc32 not available.
2012-09-02 14:38:37,148 INFO org.apache.hadoop.hbase.util.ChecksumType: Checksum can use java.util.zip.CRC32
2012-09-02 14:38:37,171 INFO org.apache.hadoop.hbase.util.ChecksumType: org.apache.hadoop.util.PureJavaCrc32C not available.
2012-09-02 14:38:40,302 INFO org.apache.hadoop.hbase.master.AssignmentManager: Regions in transition timed out: -ROOT-,,0.70236052 state=OFFLINE, ts=1346567911380, server=null
2012-09-02 14:38:40,303 INFO org.apache.hadoop.hbase.master.AssignmentManager: Region has been OFFLINE for too long, reassigning -ROOT-,,0.70236052 to a random server
2012-09-02 14:38:40,304 DEBUG org.apache.hadoop.hbase.zookeeper.ZKAssign: master:43124-0x13985b3a3530000 Creating (or updating) unassigned node for 70236052 with OFFLINE state
2012-09-02 14:38:40,324 DEBUG org.apache.hadoop.hbase.master.AssignmentManager: Handling transition=M_ZK_REGION_OFFLINE, server=wangchongan,43124,1346567906717, region=70236052/-ROOT-
2012-09-02 14:38:40,325 DEBUG org.apache.hadoop.hbase.master.AssignmentManager: Found an existing plan for -ROOT-,,0.70236052 destination server is localhost,58096,1346567907222
2012-09-02 14:38:40,325 DEBUG org.apache.hadoop.hbase.master.AssignmentManager: No previous transition plan was found (or we are ignoring an existing plan) for -ROOT-,,0.70236052 so generated a random one; hri=-ROOT-,,0.70236052, src=, dest=localhost,58096,1346567907222; 1 (online=1, available=1) available servers
2012-09-02 14:38:40,325 DEBUG org.apache.hadoop.hbase.master.AssignmentManager: Assigning region -ROOT-,,0.70236052 to localhost,58096,1346567907222
2012-09-02 14:38:40,325 DEBUG org.apache.hadoop.hbase.master.ServerManager: New connection to localhost,58096,1346567907222
2012-09-02 14:38:40,326 INFO org.apache.hadoop.ipc.HBaseRPC: Server at localhost/127.0.0.1:58096 could not be reached after 1 tries, giving up.
2012-09-02 14:38:40,326 WARN org.apache.hadoop.hbase.master.AssignmentManager: Failed assignment of -ROOT-,,0.70236052 to localhost,58096,1346567907222, trying to assign elsewhere instead; retry=0
org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed setting up proxy interface org.apache.hadoop.hbase.ipc.HRegionInterface to localhost/127.0.0.1:58096 after attempts=1
at org.apache.hadoop.hbase.ipc.HBaseRPC.handleConnectionException(HBaseRPC.java:291)
at org.apache.hadoop.hbase.ipc.HBaseRPC.waitForProxy(HBaseRPC.java:259)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1294)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1250)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1237)
at org.apache.hadoop.hbase.master.ServerManager.getServerConnection(ServerManager.java:550)
at org.apache.hadoop.hbase.master.ServerManager.sendRegionOpen(ServerManager.java:483)
at org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1634)
at org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1358)
at org.apache.hadoop.hbase.master.AssignCallable.call(AssignCallable.java:44)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567)
at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:489)
at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.setupConnection(HBaseClient.java:328)
at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.setupIOstreams(HBaseClient.java:362)
at org.apache.hadoop.hbase.ipc.HBaseClient.getConnection(HBaseClient.java:1046)
at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:898)
at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:150)
at $Proxy12.getProtocolVersion(Unknown Source)
at org.apache.hadoop.hbase.ipc.WritableRpcEngine.getProxy(WritableRpcEngine.java:183)
at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:335)
at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:312)
at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:364)
at org.apache.hadoop.hbase.ipc.HBaseRPC.waitForProxy(HBaseRPC.java:236)
… 13 more

 

经过排查,最后发现是由于hosts绑定的问题。

问题排查资料参考:http://mail-archives.apache.org/mod_mbox/hbase-user/201106.mbox/%3CBANLkTimCgHr-1MDtdo3NETZMrQXkBJy=dA@mail.gmail.com%3E

由于如果是多机启动HBase时,HBase startup程序默认会使用“localhost”,但是对于单机时,它会使用主机名,由于我的主机名绑定的IP是 127.0.1.1,所以会导致有问题。(如下)

image

 

解决办法就是:修改hosts文件,把localhost和主机名都指向127.0.0.1


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值