柚子快報(bào)邀請碼778899分享:使用Java連接Hbase
柚子快報(bào)邀請碼778899分享:使用Java連接Hbase
我在網(wǎng)上試 了很多代碼,但是大部分都不能實(shí)現(xiàn),Java連接Hbase,一直報(bào)一個(gè)錯(cuò)
java.util.concurrent.ExecutionException: org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /hbase/hbaseid
一直也不清楚為什么。后面各種嘗試,最后嘗試出來了,能正常連接hbase,但是也不知道為啥能出來,所以該代碼可能只能解決我自己的問題,其他人的問題請謹(jǐn)慎參考,不保證準(zhǔn)確與否,因?yàn)槲乙膊恢罏槭裁?????/p>
引入Jar,本公司使用的Hbase是2.0.2.1.7.x,所以我使用的Jar也是2.0.2版本 ,根據(jù)實(shí)際情況引入,然后還用了log4j2的日志
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
日志配置
實(shí)際代碼
package com.hbase;
import lombok.extern.slf4j.Slf4j;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.util.Bytes;
import java.util.List;
/**
* @author panlf
* @date 2023/11/1
*/
@Slf4j
public class HbaseSearch {
public static void main(String[] args) throws Exception {
log.info("start111");
// 創(chuàng)建HBase配置對象
Configuration config = HBaseConfiguration.create();
config.set("hbase.zookeeper.quorum", "fdp-master,fdp-slave1,fdp-slave2,fdp-slave3"); // 設(shè)置ZooKeeper地址
config.set("hbase.rootdir","hdfs://fdp-master:8020/apps/hbase/data");
config.set("zookeeper.znode.parent","/hbase-unsecure");
// 創(chuàng)建HBase連接
Connection connection = ConnectionFactory.createConnection(config);
Admin admin = connection.getAdmin();
// 獲取所有表名
List
for (TableDescriptor tableDescriptor : tableDescriptors) {
System.out.println("表名: " + Bytes.toString(tableDescriptor.getTableName().getName()));
}
System.out.println("over");
// 關(guān)閉資源
admin.close();
connection.close();
}
}
以上即為解決的代碼。
柚子快報(bào)邀請碼778899分享:使用Java連接Hbase
參考閱讀
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。