Java连接Hbase的问题

使用idea开发Java操作HBase的方法,之前一直好用的,今天连接出错,代码也很简单。在服务器上排查过Zookeeper、Hbase的状态的,全部正常。后来把hbase-site.xml配置的Zookeeper地址部分,修改了个样式,就可以连接,之后把配置改回来也可以连接了。 问题原因还待查。

    public static boolean isExist(String tableName) throws IOException {
        //对HBase表操作需要用HbaseAdmin
        Connection connection = ConnectionFactory.createConnection(conf);
        HBaseAdmin admin = (HBaseAdmin) connection.getAdmin();
        return admin.tableExists(TableName.valueOf(tableName));
    }

异常内容:

org.apache.hadoop.hbase.client.RetriesExhaustedException: Can't get the locations
	at org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.getRegionLocations(RpcRetryingCallerWithReadReplicas.java:319)
	at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:156)
	at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:60)
	at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:212)
	at org.apache.hadoop.hbase.client.ClientScanner.call(ClientScanner.java:327)
	at org.apache.hadoop.hbase.client.ClientScanner.nextScanner(ClientScanner.java:302)
	at org.apache.hadoop.hbase.client.ClientScanner.initializeScannerInConstruction(ClientScanner.java:167)
	at org.apache.hadoop.hbase.client.ClientScanner.<init>(ClientScanner.java:162)
	at org.apache.hadoop.hbase.client.HTable.getScanner(HTable.java:796)
	at org.apache.hadoop.hbase.MetaTableAccessor.fullScan(MetaTableAccessor.java:602)
	at org.apache.hadoop.hbase.MetaTableAccessor.tableExists(MetaTableAccessor.java:366)
	at org.apache.hadoop.hbase.client.HBaseAdmin.tableExists(HBaseAdmin.java:408)
	at com.zh.telecom.utils.HBaseUtil.isExistTable(HBaseUtil.java:87)
	at com.zh.telecom.hbase.HBaseDao.<init>(HBaseDao.java:50)
	at com.zh.telecom.kafka.HBaseConsumer.main(HBaseConsumer.java:24)

  hbase-site.xml原来的配置:

<property>
    <name>hbase.zookeeper.quorum</name>
    <value>hd101:2181,hd102:2181,hd103:2181</value>
</property>

  hbase-site.xml 新改的配置

<property>
    <name>hbase.zookeeper.quorum</name>
    <value>hd101,hd102,hd103</value>
</property>
<property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2181</value>
</property>

猜你喜欢

转载自www.cnblogs.com/huanshilang/p/10687888.html