当前位置: 首页 > news >正文

使用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();}
}

以上即为解决的代码。

相关文章:

使用Java连接Hbase

我在网上试 了很多代码&#xff0c;但是大部分都不能实现&#xff0c;Java连接Hbase&#xff0c;一直报一个错 java.util.concurrent.ExecutionException: org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode NoNode for /hbase/hbaseid一直也不清楚为什…...

OCR是什么意思,有哪些好用的OCR识别软件?

1. 什么是OCR&#xff1f; OCR&#xff08;Optical Character Recognition&#xff09;是一种光学字符识别技术&#xff0c;它可以将印刷体文字转换为可编辑的电子文本。OCR技术通过扫描和分析图像中的文字&#xff0c;并将其转化为计算机可识别的文本格式&#xff0c;从而…...

Springmvc实现增删改差

一、包结构 二、各层代码 (1)数据User public class User {private Integer id;private String userName;private String note;public User() {super();}public User(Integer i, String userName, String note) {super();this.id i;this.userName userName;this.note note;…...

CentOS 7 使用cJSON 库

什么是JSON JSON是一种轻量级的数据交换格式&#xff0c;可读性强、编写简单。键值对组合编写规则&#xff0c;键名使用双引号包裹&#xff0c;冒号&#xff1a;分隔符后面紧跟着数值&#xff0c;有两种常用的数据类型是对象和数组。 对象&#xff1a;使用花括号{}包裹起来的…...

Linux——使用kill结束进程并恢复进程

目录 查看进程结束进程修复进程 查看进程 在linux中&#xff0c;关闭某进程之前先查看已经在运行的进程有哪些&#xff0c;使用下面命令查看&#xff1a; ps aux | grep -i apt 命令查看哪个进程正在使用 apt结束进程 结束某线程的命令为&#xff1a; sudo kill -9 PID 命令…...

【Linux虚拟内存的配置】

设置Linux虚拟内存 注意:在做项目时&#xff0c;电脑内存不够用,怎么办? 这里给大家提供了一种解决方案,用磁盘换内存,具体如下: 虚拟内存swap介绍 如果你的服务器的总是报告内存不足&#xff0c;并且时常因为内存不足而引发服务被强制kill的话&#xff0c;在不增加物理内…...

基于C#实现外排序

一、N 路归并排序 1.1、概序 我们知道算法中有一种叫做分治思想&#xff0c;一个大问题我们可以采取分而治之&#xff0c;各个突破&#xff0c;当子问题解决了&#xff0c;大问题也就 KO 了&#xff0c;还有一点我们知道内排序的归并排序是采用二路归并的&#xff0c;因为分治…...

HTML CSS登录网页设计

一、效果图: 二、HTML代码: <!DOCTYPE html> <!-- 定义HTML5文档 --> <html lang="en"> …...

dos 命令 判断路径中包含某字符并移动文件

SET GenFolder C:\Users\administered\Desktop\t2\old_file set path1C:\Users\administered\Desktop\t1\crontab_master set path2C:\Users\administered\Desktop\t2\old_file if not exist %GenFolder% ( echo %GenFolder%目录不存在&#xff0c;已创建该目录&#x…...

electron+vue3全家桶+vite项目搭建【26】electron本地安装Vue Devtool插件,安装浏览器扩展

文章目录 引入获取vue devtool导入插件排除插件的npm脚本最终效果 引入 demo项目地址 Vue Devtools插件是vue项目必备插件&#xff0c;它是安装在浏览器里的&#xff0c;而咱们的electron中实际就包含了一个浏览器&#xff0c;同理它也可以加载浏览器插件 获取vue devtool 直…...

Modbus TCP

Modbus &#xff08;&#x1f446; 百度百科&#xff0c;放心跳转&#xff09; 起源 Modbus 由 Modicon 公司于 1979 年开发&#xff0c;是一种工业现场总线协议标准。 Modbus 通信协议具有多个变种&#xff0c;支持串口&#xff0c;以太网多个版本&#xff0c;其中最著名的…...

基于人工兔算法优化概率神经网络PNN的分类预测 - 附代码

基于人工兔算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于人工兔算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于人工兔优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神经网络…...

微服务学习(十二):安装Minio

微服务学习&#xff08;十二&#xff09;&#xff1a;安装Minio 一、简介 MinIO 是一款基于Go语言发开的高性能、分布式的对象存储系统。客户端支持Java,Net,Python,Javacript, Golang语言。MinIO系统&#xff0c;非常适合于存储大容量非结构化的数据&#xff0c;例如图片、视…...

SpringCloud实用-OpenFeign整合okHttp

文章目录 前言正文一、OkHttpFeignConfiguration 的启用1.1 分析配置类1.2 得出结论&#xff0c;需要增加配置1.3 调试 二、OkHttpFeignLoadBalancerConfiguration 的启用2.1 分析配置类2.2 得出结论2.3 测试 附录附1&#xff1a;本系列文章链接附2&#xff1a;OkHttpClient 增…...

Python 异步套接字编程

异步套接字编程是异步编程在网络通信中的应用&#xff0c;它使用异步 IO 操作和事件循环来实现高并发的网络应用。Python 中的 asyncio 模块提供了对异步套接字编程的支持&#xff0c;以下是异步套接字编程的一些重要概念和使用方法&#xff1a; 1. 异步套接字服务器&#xff…...

今年的校招薪资真的让人咋舌!

秋招接近尾声&#xff0c;各大公司基本也陆续开奖了。这里整理了部分公司的薪资情况&#xff0c;数据来源于 OfferShow 和牛客网。 ps&#xff1a;爆料薪资的几乎都是 211 和 985 的&#xff0c;并不是刻意只选取学校好的。另外&#xff0c;无法保证数据的严格准确性。 淘天 …...

debian 设置系统默认以命令行方式启动,关闭x windows

debian 设置系统默认以命令行方式启动&#xff0c;关闭x windows 2021-01-02 tech linux 设置 grub启动设置在/etc/default/grub中&#xff0c;打开 default grub 配置: $ sudo vim /etc/default/grub修改以下配置&#xff1a; 更新grub&#xff0c;设置多用户启动: …...

AMEYA360:蔡司新能源汽车解决方案驱动产业未来

电动化正在重塑中国汽车工业。自中国汽车工业开始发展以来&#xff0c;在电动化和智能化的浪潮推动下&#xff0c;汽车行业从未面临着如此巨大的变革。得益于中国汽车产业尤其是新能源车过去十余年的激流勇进&#xff0c;消费者对新能源汽车的接受度也在发生转变。新能源汽车市…...

C#面试问题整理

sqlserver中视图和表的区别 在 SQL Server 中&#xff0c;视图&#xff08;View&#xff09;和表&#xff08;Table&#xff09;是不同的对象&#xff0c;它们有以下几点区别&#xff1a; 数据存储方式&#xff1a;表是一种实际存储数据的数据库对象&#xff0c;它包含列和行&…...

微信小程序 基于Android的共享付费自习室座位选座系统uniAPP

题目&#xff1a; 基于Android的共享自习室APP设计与实现 (学校要求&#xff1a;数据库不少于有逻辑关系的20个表&#xff0c;系统功能不少于60个功能点&#xff09; 技术&#xff1a; 功能&#xff1a; 1. 用户端&#xff1a; 一、首页&#xff1a; &#xff08;1&…...

终极Windows搜索革命:EverythingToolbar自定义过滤器完整指南

终极Windows搜索革命&#xff1a;EverythingToolbar自定义过滤器完整指南 【免费下载链接】EverythingToolbar Everything integration for the Windows taskbar. 项目地址: https://gitcode.com/gh_mirrors/eve/EverythingToolbar 还在为Windows文件搜索效率低下而烦恼…...

AS2785 AC输入50-260V或DC输入20-450V 电流10mA,输出2.7V/3.3V/5V

1、方案名称&#xff1a;AS2785 AC输入50-260V或DC输入20-450V 电流10mA&#xff0c;输出2.7V/3.3V/5V2、品牌&#xff1a;紫源微&#xff08;Zymicro&#xff09;3、描述&#xff1a;AS2785是一款高性能线性稳压器&#xff0c;提供高达450V DC的非常宽的工作输入电压范围&…...

百度网盘秒传脚本:告别文件链接失效,三步实现永久分享

百度网盘秒传脚本&#xff1a;告别文件链接失效&#xff0c;三步实现永久分享 【免费下载链接】rapid-upload-userscript-doc 秒传链接提取脚本 - 文档&教程 项目地址: https://gitcode.com/gh_mirrors/ra/rapid-upload-userscript-doc 你是否曾因百度网盘分享链接突…...

如何零侵入扩展《杀戮尖塔》:ModTheSpire模组加载器全解析

如何零侵入扩展《杀戮尖塔》&#xff1a;ModTheSpire模组加载器全解析 【免费下载链接】ModTheSpire External mod loader for Slay The Spire 项目地址: https://gitcode.com/gh_mirrors/mo/ModTheSpire 你是否曾经想在《杀戮尖塔》中添加新角色、新卡牌或改变游戏机制…...

Moon主题开发原理深度解析:Jekyll架构与主题设计哲学

Moon主题开发原理深度解析&#xff1a;Jekyll架构与主题设计哲学 【免费下载链接】Moon &#x1f313; Moon is a minimal, one column jekyll theme. 项目地址: https://gitcode.com/gh_mirrors/moon/Moon Moon是一款基于Jekyll构建的极简单栏博客主题&#xff0c;以其…...

解锁60帧限制:原神FPS解锁工具完全指南

解锁60帧限制&#xff1a;原神FPS解锁工具完全指南 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 还在为原神游戏中的60帧限制感到困扰吗&#xff1f;想让你的高端硬件充分发挥性能&…...

CLIP-GmP-ViT-L-14效果展示:手绘草图-产品需求文档语义映射实例

CLIP-GmP-ViT-L-14效果展示&#xff1a;手绘草图-产品需求文档语义映射实例 1. 模型能力概览 CLIP-GmP-ViT-L-14是一个经过几何参数化(GmP)微调的视觉语言模型&#xff0c;在ImageNet和ObjectNet数据集上达到了约90%的准确率。这个模型特别擅长理解图像与文本之间的语义关联&…...

个性化推荐系统

第4天-2&#xff1a;个性化推荐系统&#x1f3af; 掘金标题&#xff1a;&#x1f4ca; 基于用户行为的博客文章推荐系统实战&#xff08;附完整代码&#xff09; &#x1f4dd; CSDN标题&#xff1a;Vue 3 Pinia LocalStorage 实现无后端推荐系统前言 当博客文章越来越多时&a…...

【AI模型】概念-评测基准

【AI&游戏】专栏-直达 AI模型评测基准 AI模型评测基准&#xff08;Benchmarks&#xff09;是一系列标准化测试任务&#xff0c;用于评估大语言模型在不同方面的能力表现。了解模型评测基准有助于选择合适的模型&#xff0c;评估模型性能&#xff0c;并指导模型优化方向。 …...

一阶低通新引擎

#1: 喂NaN -> 返回NaN 毒化PASS返回nan, 毒化1 #2: core_init清除毒化PASS毒化0 #3: 传整数1 -> 合理结果PASS返回0.150000 #4: 0档->1, 6档->5, 负门控->0PASS0档1 6档5 门控0.0 #5: 未init就feed -> NaN毒化(子进程)PASS子进程True #6: 跨进程互斥PASS100…...