hbase问题总结

一、客户端访问hbase时出现no further information

    使用java api访问hbase时,一直连不上,查看日志发现以下错误:

java.net.ConnectException: Connection refused: no further information
 at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
 at sun.nio.ch.SocketChannelImpl.finishConnect(Unknown Source)
 at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:933)
10/06/25 15:44:23 WARN zookeeper.ClientCnxn: Ignoring exception during shutdown input
java.nio.channels.ClosedChannelException
 at sun.nio.ch.SocketChannelImpl.shutdownInput(Unknown Source)
 at sun.nio.ch.SocketAdaptor.shutdownInput(Unknown Source)

    查看hbase日志发现有客户端连接信息,但是响应之后一直客户端便一直报上述错误。查资料得知该错一般由于客户端获取hbase regionServer的Ip错误导致,查看zookeeper中的地址发现存的是localhost。经网上资料得知伪分布式式下若未配置host默认获取地址为localhost(大概考虑伪分布式一般都为本机访问吧),在host中将localhost配置成ip即可。

二、HBase同时出现TableNotEnabledException和TableNotDisabledException

    在一次enable表的时候由于时间过长而直接ctrl+c结束,结果再次操作时出现TableNotDisabledException错误,而尝试disable却出现TableNotEnabledException,导致无法启用表。上网查询得知是由于中断操作导致zookeeper中记录的表状态不一致导致。通过以下方法解决。

1、连接zookeeper(直接通过hbase的工具)

hbase zkcli

2、删除hbase下对应表的数据(或者直接删除/hbase/table路径)

delete /hbase/table/{表名}

3、重启hbase

 

posted @ 2014-11-02 18:45  oO脾气不坏Oo  阅读(2173)  评论(0编辑  收藏  举报