一、客户端访问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
时间: 2024-10-26 13:41:06