首页
学习
活动
专区
圈层
工具
发布

java使用hbase、hadoop报错举例

@TOC摘要总结自己springboot项目使用hbase、hadoop中出现的莫名奇怪的依赖使用报错hbase 2.0.2版本hadoop 3.1.1版本==注意==:本地依赖版本最好和服务器上版本一致...:351) ~[na:1.8.0_231]... 27 common frames omitted==原因==:碰到这种xxxxxClass未找到,就说明服务器上使用jar包版本不对,导致找不到类,原因就是...jar出现多版本导致的,这个类出现在hadoop-common 2.7.7中,而我要使用的是3.1.1版本,不应该出现这个对象==解决思路==:pom依赖使用标签进行依赖冲突排除,...确保最后只有一个版本即可(也就是把乱七八糟jar内部引入的版本全部排除调)情况2:使用hbase报错:NullPointerException下面这句使用报错 ↓ FileSystem fs = FileSystem.get...(new URI(hdfsPath), configuration, hdfsName);==原因==:报空指针就是没有进行初始化,而直接调用方法导致的==解决思路==:写到一起或者初始化后再使用即可情况

21110
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何使用Java连接Kerberos的HBase

    在Linux下使用HBase客户端访问HBase数据时需要先kinit初始化Kerberos账号,认证完成后我们就可以直接使用HBase shell操作HBase了。...通过Linux的Kinit命令可以方便的完成Kerberos的认证,那么在Java开发中如何完成Kerberos的登录认证呢?本篇文章主要讲述如何使用Java连接Kerberos环境的HBase。...] 3.创建Java工程 ---- 1.使用Intellij创建Java Maven工程 [e5xdb4edj6.jpeg] 2.在工程下创建kerberos-conf目录,将下载的客户端配置文件拷贝至此目录...; import java.io.IOException; /** * Java访问Kerberos环境的HBase数据库 * @Date 2107-10-25 22:22:58 */ publicclass...在使用Kerberos账号进登录行认证时,如果使用的是普通账号(fayson),则需要为fayson账号授权,否则fayson用户无权限访问HBase库的表。

    6.4K80

    HBase使用

    2、HBase使用场景和成功案例 互联网搜索问题:爬虫收集网页,存储到BigTable里,MapReduce计算作业扫描全表生成搜索索引,从BigTable中查询搜索结果,展示给用户。...现在只是对hbase会使用。 就先从使用开始入门。 二、 HBase使用 hbase是数据库, 数据库那就是存储数据的, 那就离不开curd....DDL命令 命令 命令含义 命令使用示例 alter 修改表的列族的描述属性 aliter 't1',NAME => 'f1',VERSIONS => 5 alter_async 异步修改表的列族的描述属性...=> true} hbase> scan 't1', {METRICS => ['RPC_RETRIES', 'ROWS_FILTERED']} // 使用过滤器, show_filters...查看所有可以使用的过滤器 hbase> scan 't1', {ROWPREFIXFILTER => 'row2', FILTER => " (QualifierFilter (>=, 'binary

    1.9K30

    使用 HBase - HBase Shell 命令

    数人之道原创文章,转载请关注本公众号联系我们 HBase Shell 命令文章大纲 HBase 数据库默认的客户端程序是 HBase Shell,它是一个封装了 Java 客户端 API 的 JRuby...使用 quit 或 exit 命令可退出 HBase 命令行环境。 [hadoop@hadoop100 ~]$ hbase shell 下面介绍部分常用的 HBase Shell 操作命令。...插入数据 HBase 使用 put 命令可以向数据表中插入一行新的数据,或者覆盖指定行的数据。...查看用户 查看当前 HBase 使用的用户: whoami 此命令返回 HBase 当前用户的详细信息。 2.2 命名空间管理 2.2.1....使用 show_filters 命令可以查看当前 HBase 支持的过滤器类型: 图3-1:查看 HBase 过滤器类型 使用过滤器的命令语法格式如下: scan 'namespace:table',

    12.3K31

    如何使用Java访问非Kerberos环境的HBase

    温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。...Fayson的github: https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1 文档编写目的 在前面的文章Fayson介绍了《如何使用Java...连接Kerberos的HBase》,虽然非Kerberos环境下访问HBase比较简单,本篇文章Fayson还是主要介绍使用Java访问非Kerberos环境的HBase。...2.在开发环境下为本机配置集群hosts信息,因为下载的HBase客户端配置使用的为hostname ?...5 总结 1.Java开发访问HBase时,注意Connection对象不要重复创建,在使用完成后记得进行close操作,以避免频繁操作时将Zookeeper的连接数占满。

    1.8K40

    Java 操作 HBase 教程

    一、简介 在上一篇文章 HBase 基础入门 中,我们已经介绍了 HBase 的一些基本概念,以及如何安装使用的方法。...那么,作为一名 Javaer,自然是希望用 Java 的方式来与 HBase 进行对话了。所幸的是,HBase 本身就是用 Java 编写的,天生自带了 Java 原生API。...在使用 hbase-client 之前,有几个要点需要注意: 客户端需要能访问 Zoopkeeper,再获得 HMaster、RegionServer 实例进行操作 客户端需运行在HBase/Hadoop...集群内,HBase会使用 hostname 来定位节点,因此要求客户端能访问到对应的主机名(或子域名) 如果是远程客户端则需要配置本地的hosts文件。...下面这个图,有助于理解 Client 与 HBase 集群的交互架构: ? 下面开始介绍 client 的使用。

    4.1K10

    HBase Java Client API

    概述 在这篇文章中,我们看一下 HBase Java 客户端 API 如何使用。HBase 用 Java 编写,并提供 Java API 与之通信。...因此,我们学习一下如何使用 HBase 的 Java 客户端 API 对 HBase 表进行 CRUD 操作。 2. Put 使用 Put 向表中插入数据。...最后使用 Table 的 put() 方法向 HBase 中存储数据,使用如下方法进行调用: void put(Put put) throws IOException 如下代码所示向 HBase 表中插入单行数据...当用户使用 get() 方法获取数据时,HBase 返回的结果包含所有匹配的单元格数据,这些数据被封装在一个 Result 实例中返回给用户。...Delete 下面我们介绍使用客户端 API 删除已存储数据的方法。Table 类的 delete() 方法可以从 HBase 表中删除数据。delete() 方法需要 Delete 类的实例。

    2.6K10

    如何优雅地使用 java 连接 HBase 客户端

    放弃不难,但坚持很酷~ HBase 版本:1.2.0-cdh5.7.0 一、客户端的长短连接 java 远程连接 HBase 客户端,大体分为两种方式。一种是长连接,一种是短连接。...二、使用单例模式来初始化 HBase 客户端 以 HBase 为例,如果使用长连接,那就得需要确保 connection 唯一(不唯一的话,有可能造成资源浪费或者连接数过多报错),所有的操作都使用这一个...但我们也可以使用静态内部类的形式实现上述场景。静态内部类也是实现单例模式的一种,保证只加载一次,懒加载并且线程安全。...因为 HBaseUtil.java 的实例化是靠静态内部类的静态常量 instance 实例化的。instance 是常量,因此只能赋值一次;它还是静态的,因此随着内部类一起加载。...3、不只是 HBase 可以这样初始化客户端,Elasticsearch 等等的长连接也都可以,这样,你学会了吗?

    3.6K30

    科学使用HBase Connection

    这个问题的答案简单而不简单:HBase客户端是不需要维护连接池的,或者说,Connection对象已经帮我们做好了。...但是,对Connection使用不当是HBase新手(包括很久很久之前的我自己)最容易犯的错误之一,常见错误用法有: 每个线程开一个连接,线程结束时关闭; 每次读写HBase时开一个连接,读写完毕后关闭...; 自行实现Connection对象的池化,每次使用时取出一个。...之前已经多次提到过,创建HBase连接是非常“贵”(expensive)的操作,并且创建过多的Connection会导致HBase拒绝连接。...AbstractRpcClient中使用了一个名为PoolMap的结构来维护ConnectionId与连接池之间的映射关系,在构造方法中初始化。

    4.4K30

    java操作hbase报错:KeeperErrorCode=NoNode for hbase-unsecuremaster

    root"); conf.set("hbase.zookeeper.property.clientPort", "2181"); conf.setInt("hbase.client.operation.timeout...admin = connection.getAdmin(); }原因:总结一句话:该报错原因是hbase配置文件和java链接参数路径不一致问题java链接hbase客户端需指定其中两个参数:"hbase.zookeeper.quorum...在该文件夹下保存hbase相关操作链接的缓存信息解决方案:第一种:修改java连接参数"zookeeper.znode.parent"第二种:修改参数对应linux下的/usr/hdp/3.1.0.0-...78/hbase/conf/hbase-site.xml文件的最后一行 ↓, zookeeper.znode.parent /hbase-unsecure确保java连接参数和linux的hbase这个配置参数保持一致即可,且以linux中hbase配置文件中为基准最好

    15310
    领券