使用Java連接Hbase

我在網上試 了很多代碼,但是大部分都不能實現,Java連接Hbase,一直報一個錯

java.util.concurrent.ExecutionException: org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /hbase/hbaseid

一直也不清楚為什么。后面各種嘗試,最后嘗試出來了,能正常連接hbase,但是也不知道為啥能出來,所以該代碼可能只能解決我自己的問題,其他人的問題請謹慎參考,不保證準確與否,因為我也不知道為什么????

引入Jar,本公司使用的Hbase是2.0.2.1.7.x,所以我使用的Jar也是2.0.2版本 ,根據實際情況引入,然后還用了log4j2的日志

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"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"><modelVersion>4.0.0</modelVersion><groupId>com.hbase</groupId><artifactId>hbase-operation</artifactId><version>0.0.1</version><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><dependencies><dependency><groupId>org.apache.hbase</groupId><artifactId>hbase-server</artifactId><version>2.0.2</version><exclusions><exclusion><artifactId>servlet-api</artifactId><groupId>javax.servlet</groupId></exclusion><exclusion><artifactId>slf4j-log4j12</artifactId><groupId>org.slf4j</groupId></exclusion></exclusions></dependency><dependency><groupId>org.apache.hbase</groupId><artifactId>hbase-client</artifactId><version>2.0.2</version><exclusions><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId></exclusion><exclusion><groupId>log4j</groupId><artifactId>log4j</artifactId></exclusion><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.22</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.32</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.17.1</version><exclusions><exclusion><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>2.17.1</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-slf4j-impl</artifactId><version>2.17.0</version><exclusions><exclusion><artifactId>log4j-api</artifactId><groupId>org.apache.logging.log4j</groupId></exclusion><exclusion><artifactId>log4j-core</artifactId><groupId>org.apache.logging.log4j</groupId></exclusion><exclusion><artifactId>slf4j-api</artifactId><groupId>org.slf4j</groupId></exclusion></exclusions></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-assembly-plugin</artifactId><version>3.0.0</version><configuration><archive><manifest><mainClass>com.hbase.HbaseSearch</mainClass></manifest></archive><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs></configuration><executions><execution><id>make-assembly</id><phase>package</phase><goals><goal>single</goal></goals></execution></executions></plugin></plugins></build>
</project>

日志配置

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="DEBUG"><Appenders><Console name="Console" target="SYSTEM_OUT"><PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/></Console></Appenders><Loggers><Root level="info"><AppenderRef ref="Console"/></Root></Loggers>
</Configuration>

實際代碼

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");// 創建HBase配置對象Configuration config = HBaseConfiguration.create();config.set("hbase.zookeeper.quorum", "fdp-master,fdp-slave1,fdp-slave2,fdp-slave3"); // 設置ZooKeeper地址config.set("hbase.rootdir","hdfs://fdp-master:8020/apps/hbase/data");config.set("zookeeper.znode.parent","/hbase-unsecure");// 創建HBase連接Connection connection = ConnectionFactory.createConnection(config);Admin admin = connection.getAdmin();// 獲取所有表名List<TableDescriptor> tableDescriptors = admin.listTableDescriptors();for (TableDescriptor tableDescriptor : tableDescriptors) {System.out.println("表名: " + Bytes.toString(tableDescriptor.getTableName().getName()));}System.out.println("over");// 關閉資源admin.close();connection.close();}
}

以上即為解決的代碼。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/167800.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/167800.shtml
英文地址,請注明出處:http://en.pswp.cn/news/167800.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

計算機組成原理。3-408

1.動態存儲和靜態存儲 2.雙端口RAM 注意&#xff1a;cpu通過地址線和數據線讀寫數據時&#xff0c;不能同時寫&#xff0c;但可以同時讀&#xff0c;也不能一邊讀一邊寫。 3.多體并行存儲器 分為高位存儲和低位存儲 小結 4.磁盤存儲器的組成 5.磁盤的性能指標 磁盤讀寫尋道…

如何對網站進行滲透測試

信息搜集 信息搜集拿到域名后獲取真實IP&#xff0c;如果存在CDN想辦法繞過端口掃描&#xff0c;針對開放的端口在獲取客戶同意的前提下進行爆破查找網站子域名&#xff0c;后臺目錄判斷網站的CMS 可以使用 Wappalyzer插件 whatcms 是一個可以用來確定特定網站正在使用的什么…

Vue中Slot的使用指南

目錄 前言 什么是slot&#xff1f; 單個slot的使用 具名slot的使用 作用域插槽 總結 前言 在Vue中&#xff0c;slot是一種非常強大和靈活的功能&#xff0c;它允許你在組件模板中預留出一個或多個"插槽"&#xff0c;然后在使用這個組件的時候動態地填充內容。這…

TSINGSEE青犀智能分析網關道路積水識別AI算法方案

在各處的街道、路口等區域&#xff0c;及時發現道路積水問題&#xff0c;可以大大減少城市管理部門壓力&#xff0c;及時處理&#xff0c;減少交通事故與人員摔倒事故。通過道路積水AI算法&#xff0c;能有效提高城市管理部門效率&#xff0c;優化城市管理方式。 那么&#xff…

【Web】PhpBypassTrick相關例題wp

目錄 ①[NSSCTF 2022 Spring Recruit]babyphp ②[鶴城杯 2021]Middle magic ③[WUSTCTF 2020]樸實無華 ④[SWPUCTF 2022 新生賽]funny_php 明天中期考&#xff0c;先整理些小知識點冷靜一下 ①[NSSCTF 2022 Spring Recruit]babyphp payload: a[]1&b1[]1&b2[]2&…

NLP的使用

參考&#xff1a; Apache openNLP 簡介 - 鏈滴 (ld246.com) opennlp 模型下載地址&#xff1a;Index of /apache/opennlp/models/ud-models-1.0/ (tencent.com) OpenNLP是一個流行的開源自然語言處理工具包&#xff0c;它提供了一系列的NLP模型和算法。然而&#xff0c;Open…

【模擬開關CH440R】2022-1-20

資料模擬開關CH440芯片手冊 - 百度文庫 ch440R回來了&#xff0c;導通usb設備沒問題&#xff0c;降壓不影響。但是我發現個嚴重的問題&#xff0c;我的電路是直接通過4067控制ch440r接地&#xff0c;低電平&#xff0c;使能三個線路連一起的&#xff0c;郵箱的圖您看看&#xf…

N-134基于java實現捕魚達人游戲

開發工具eclipse,jdk1.8 文檔截圖&#xff1a; package com.qd.fish;import java.awt.Graphics; import java.io.File; import java.util.ArrayList; import java.util.List;import javax.imageio.ImageIO;public class Fishes {//定義一個集合來管理魚List<Fish> fish…

五種多目標優化算法(NSDBO、NSGA3、MOGWO、NSWOA、MOPSO)求解微電網多目標優化調度(MATLAB代碼)

一、多目標優化算法簡介 &#xff08;1&#xff09;非支配排序的蜣螂優化算法NSDBO 多目標應用&#xff1a;基于非支配排序的蜣螂優化算法NSDBO求解微電網多目標優化調度&#xff08;MATLAB&#xff09;-CSDN博客 &#xff08;2&#xff09;NSGA3 NSGA-III求解微電網多目標…

應用場景丨社區燃氣管網監測系統建設

燃氣作為現代社會的重要能源&#xff0c;燃氣被廣泛應用于居民生活、工業生產、商業服務等領域。然而&#xff0c;燃氣泄漏事故時有發生&#xff0c;不僅給人們的生命財產安全帶來嚴重威脅&#xff0c;也給燃氣行業的發展帶來不良影響。因此&#xff0c;對于燃氣管道的監測和管…

給虛擬機配置靜態id地址

1.令人頭大的原因 當連接虛擬機的時候 地址不一會就改變&#xff0c;每次都要重新輸入 2.配置虛擬機靜態id地址 打開命令窗口執行 : vim /etc/sysconfig/network-scripts/ifcfg-ens33 按下面操作修改 查看自己子網掩碼 3.重啟網絡 命令行輸入 systemctl restart netwo…

【C語言】函數(四):函數遞歸與迭代,二者有什么區別

目錄 前言遞歸定義遞歸的兩個必要條件接受一個整型值&#xff08;無符號&#xff09;&#xff0c;按照順序打印它的每一位使用函數不允許創建臨時變量&#xff0c;求字符串“abcd”的長度求n的階乘求第n個斐波那契數 迭代總結遞歸與迭代的主要區別用法不同結構不同時間開銷不同…

容器args中使用環境變量

1 背景 有時候需將變量傳給容器&#xff0c;作為命令的參數。比如定義一個branch name&#xff0c;然后在initcontainer中clone對應的配置&#xff0c;進行后續操作。這時候我們就可以通過ConfigMap來保存這個值&#xff0c;然后在Deployment里讀取這個ConfigMap&#xff0c;并…

毛利率創歷史新高,三季度的小米拿出“新王牌”?

近日&#xff0c;小米正式發布了今年三季度的財報。財報數據顯示&#xff0c;小米第三季度經調整凈利潤為59.9億元人民幣&#xff0c;同比增長182.9%&#xff0c;遠超市場預期的48億元。這其中&#xff0c;手機業務作為小米的基本盤一直是市場的關注焦點。今年三季度&#xff0…

Python----函數的參數

在函數定義與調用時&#xff0c;我們可以根據自己的需求來實現參數的傳遞。在Python中&#xff0c;函數的參數一共有兩種形式&#xff1a;① 形參 ② 實參 形參&#xff1a;在函數定義時&#xff0c;所編寫的參數就稱之為形式參數 實參&#xff1a;在函數調用時&#xff0c;所…

vue3的基本使用(超詳細)

一、初識vue3 1.vue3簡介 2020年9月18日&#xff0c;vue3發布3.0版本&#xff0c;代號大海賊時代來臨&#xff0c;One Piece特點&#xff1a; 無需構建步驟&#xff0c;漸進式增強靜態的 HTML在任何頁面中作為 Web Components 嵌入單頁應用 (SPA)全棧 / 服務端渲染 (SSR)Jams…

大表添加字段不停服思路

前言 這個是源自于昨天寫的業務背景&#xff0c;對接蘋果支付退款退單接口-CSDN博客 涉及到了order表的改動&#xff0c;而目前order表已經有2千萬的數據&#xff0c;如果退款字段都直接加在這張表里面可能會比較慢&#xff0c;所以才有這篇文章&#xff0c;文章里只討論思路&a…

搜索引擎語法

演示自定的Google hacking語法&#xff0c;解釋含意以及在滲透過程中的作用 Google hacking site&#xff1a;限制搜索范圍為某一網站&#xff0c;例如&#xff1a;site:baidu.com &#xff0c;可以搜索baidu.com 的一些子域名。 inurl&#xff1a;限制關鍵字出現在網址的某…

重生之我是一名程序員 40 ——字符串函數(1)

哈嘍啊大家晚上好&#xff01;今天呢給大家帶來點新的東西——字符串函數strcpy。 首先&#xff0c;讓我來給大家介紹一下它。strcpy函數是C語言中的一個字符串函數&#xff0c;用于將一個字符串復制到另一個字符串中。其函數原型為&#xff1a; char* strcpy(char* dest, co…

LeetCode無重復字符的最長字符串的Java實現

題目 給定一個字符串 s &#xff0c;請你找出其中不含有重復字符的 最長連續子字符串 的長度。 示例 1: 輸入: s "abcabcbb" 輸出: 3 解釋: 因為無重復字符的最長子字符串是 "abc"&#xff0c;所以其長度為 3。示例 2: 輸入: s "bbbbb" 輸…