当前位置:网站首页 > Java教程 > 正文

hbase 教程 java



在上一篇文章 HBase 基础入门 中,我们已经介绍了 HBase 的一些基本概念,以及如何安装使用的方法。
那么,作为一名 Javaer,自然是希望用 Java 的方式来与 HBase 进行对话了。
所幸的是,HBase 本身就是用 Java 编写的,天生自带了 Java 原生API。 我们可以通过 hbase-client 来实现 HBase 数据库的操作。
所以,这次主要介绍该组件的基本用法。

在使用 hbase-client 之前,有几个要点需要注意:

  • 客户端需要能访问 Zoopkeeper,再获得 HMaster、RegionServer 实例进行操作
  • 客户端需运行在HBase/Hadoop 集群内,HBase会使用 hostname 来定位节点,因此要求客户端能访问到对应的主机名(或子域名)
    如果是远程客户端则需要配置本地的hosts文件。

下面这个图,有助于理解 Client 与 HBase 集群的交互架构:

下面开始介绍 client 的使用。

在 Maven 的 pom.xml 中添加依赖:

 

这里需要注意的是,客户端版本和 HBase 版本需要保持一致,否则可能会遇到不兼容的问题。

示例代码:

 

增删改查方法封装如下:

 

最后,我们仍然以上一篇文章中的设备数据作为例子:

  1. 建立 DeviceState 表;
  2. 定义 name/state 两个列簇;
  3. 写入列数据;
  4. 读取列、行,范围读取;
  5. 删除操作

最终实现的代码如下:

 

执行代码,控制台输出如下:

 

此时Java Client已经完成制作。

  • 提示报错 找不到winutils程序

Failed to locate the winutils binary in the hadoop binary path
原因是在Windows下依赖一个winutils.exe程序,该程序通过${HADOOP_HOME}/bin 来查找。
该报错不影响程序执行,但如果要规避问题,需要下载hadoop-commons-master,再配置变量HADOOP_HOME
可参考地址:https://blog.csdn.net/ycf/article/details/

  • 提示报错,UnknownHostException,无法找到节点..
    原因是客户端无法解析HMaster实例节点的主机名
    需要编辑 C:WindowsSystem32driversetchosts 文件,添加对应的映射,如下:
 

官方文档
https://hbase.apache.org/book.html#quickstart
Java HBase客户端API
https://www.baeldung.com/hbase

  • 上一篇: esclipse安装java教程
  • 下一篇: 才鸟教程 java
  • 版权声明


    相关文章:

  • esclipse安装java教程2024-11-19 18:34:05
  • java教程2712024-11-19 18:34:05
  • java开发java开发教程2024-11-19 18:34:05
  • java教程售卖2024-11-19 18:34:05
  • java木马教程2024-11-19 18:34:05
  • 才鸟教程 java2024-11-19 18:34:05
  • java游戏 视频教程2024-11-19 18:34:05
  • java rcp教程2024-11-19 18:34:05
  • java实用类教程2024-11-19 18:34:05
  • java教程网账号2024-11-19 18:34:05