首先要讲的是 Will not attempt to authenticate using SASL (unknown error)
这个报错可以直接忽略, 而拿不到的原因并不是这个, 为什么会让人产生错觉呢? 还是因为卡在这个附近了 而且就这一个报错.
曾经翻* 去外面找原因找了半天也没有找到. 最后竟然栽在了阴沟里
下面上实际的解决方案 :
Configuration config = HBaseConfiguration.create(); config.set("hbase.zookeeper.quorum","你们的zookeeper地址"); config.set("zookeeper.znode.parent", "/hbase-unsecure"); // /hbase-unsecure 是你们zookeeper 的hbase存储信息的znode config.set("hbase.zookeeper.property.clientPort","2181"); // zookeeper 的端口应该大家都知道 config.set("hbase.master","你们的hbase 的master 的地址:端口"); // 例如: 191.168.9.9:16000 , 这里由于 ambari 的端口不一样所以和原生的端口不一样这个 要注意
这一段加上就基本不会有问题了, 下面就可以获得你的所有的表,测试一下能不能连接成功了.
Connection connection = ConnectionFactory.createConnection(config); Admin admin = connection.getAdmin(); TableName[] tableDescriptor =admin.listTableNames(); for (TableName tableName : tableDescriptor) { System.out.println( new String( tableName.getName()).toString()); }