项目中使用 phoenix 使用SQL 方式来操作Hbase 数据库,但是遇到一个是,SQL在Dbeaver 中查询速度还可以,但是使用phoenix+ibatis 后返回结果集数据量20w ,速度特别慢,先是考虑用redis方式缓存,但是内存有限,想着是用,hbase直连的方式,测试一下解决一下,

一:简介
hbase-client是HBase提供的一套比较底层的API,在实际使用时需要对其进行封装,提供更好用的api给用户。

操作hbase的客户端有以下几种方式:

hbase-client 比较底层,需要自己进一步封装api,而且版本号和安装的hbase也要匹配,否则会报错
spring-data-hadoop 2019年4月5停止维护
Apache Phoenix 使用SQL的方式来操作HBase

  • 下面是springboot+ hbase-client方式

注意!需要去掉slf4j和log4j jar 否则会报相应的错误:pom.xml 引入

<dependency><groupId>org.apache.hbase</groupId><artifactId>hbase-client</artifactId><version>2.1.3</version><exclusions><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId></exclusion><exclusion><groupId>log4j</groupId><artifactId>log4j</artifactId></exclusion></exclusions></dependency>

注意!hbase application.yml 设置: hbase.zookeeper.znode 更正为hbase.zookeeper.parent

hbase:config:hbase.zookeeper.quorum: 127.0.0.1hbase.zookeeper.port: 2181hbase.zookeeper.parent: /hbasehbase.client.keyvalue.maxsize: 1572864000

hbase.zookeeper.parent的作用:

Zookeeper作用在于:

1、hbase regionserver向zookeeper注册,提供hbase regionserver状态信息(是否在线)。

2、hmaster启动时候会将hbase系统表-ROOT-加载到zookeeper cluster,通过zookeeper cluster可以获取当前系统表.META.的存储所对应的regionserver信息。

zookeeper是hbase集群的"协调器"。由于zookeeper的轻量级特性,因此我们可以将多个hbase集群共用一个zookeeper集群,以节约大量的服务器。多个hbase集群共用zookeeper集群的方法是使用同一组ip,修改不同hbase集群的"zookeeper.znode.parent"属性,让它们使用不同的根目录。比如cluster1使用/hbase-c1,cluster2使用/hbase-c2,等等。

HMaster主要作用在于,通过HMaster维护系统表-ROOT-,.META.,记录regionserver所对应region变化信息。此外还负责监控处理当前hbase cluster中regionserver状态变化信息。

hbase regionserver则用于多个/单个维护region。

region则对应为hbase数据表的表分区数据维护。

参考:https://www.cnblogs.com/cxzdy/p/5369187.html

https://www.jianshu.com/p/67a817a157ee

项目搭建参考如下:

https://blog.csdn.net/vbirdbest/article/details/88410954

3. hbase API 建议参考:

https://www.cnblogs.com/frankdeng/p/9310209.html

4.hbase 基本的JavaApi 数据操作及数据过滤(filter)

https://www.cnblogs.com/frankdeng/p/9310262.html

https://www.cnblogs.com/asker009/p/10626508.html

springboot+hbase 集成相关推荐

  1. springboot项目集成dolphinscheduler调度器 实现datax数据同步任务

    Datax安装及基本使用请查看上一篇文章: 文章目录 Datax概述 1.概述 2.功能清单 3.==说明==:本项目只支持mysql及hbase之间的数据同步 代码模块 配置文件 pom.xml D ...

  2. springboot项目集成docker

    文章目录 一.docker常用命令 0.拉取镜像到本地仓库 1.查看所有镜像 2.创建一个新的容器并运行,返回的是容器的ID -- CONTAINER ID: 3.查看运行中的docker实例 4.查 ...

  3. springboot的jsp应该放在哪_在springboot中集成jsp开发

    springboot就是一个升级版的spring.它可以极大的简化xml配置文件,可以采用全注解形式开发,一个字就是很牛. 在springboot想要使用jsp开发,需要集成jsp,在springbo ...

  4. springboot+mybatis集成自定义缓存ehcache用法笔记

    今天小编给大家整理了springboot+mybatis集成自定义缓存ehcache用法笔记,希望对大家能有所办帮助! 一.ehcache介绍 EhCache 是一个纯Java的进程内缓存管理框架,属 ...

  5. Springboot/Cloud集成Sentinel 和 入门实战

    文章目录 一.Springboot/Cloud集成Sentinel 1. spring-cloud-alibaba依赖 2. 引入 Sentinel starter 3. 配置application. ...

  6. springboot nacos_springboot集成nacos

    1.现在nacos进行配置添加 2.springboot项目集成nacos nacos上有说明,根据不同的工程进行配置,如下图 集成nacos客户端包 com.alibaba.boot nacos-c ...

  7. SpringBoot 2 集成微信扫码支付

    前言 该文主要是手把手教你如何在SpringBoot 中集成微信扫码支付,以及集成的过程需要注意的问题事项.另外需要感谢 vbirdbest 关于微信支付和支付宝支付相关包博客总结.因为文中很多地方参 ...

  8. MyBatis系列之--Java 项目(非SpringBoot)集成MyBatis

    MyBatis系列之--Java 项目(非SpringBoot)集成MyBatis 对MyBatis简单介绍 核心接口SqlSessionFactory 实战 1. Maven创建Java项目 2. ...

  9. springboot项目集成大数据第三方dolphinscheduler调度器

    文章目录 摘要 项目背景 功能要求 功能说明 1.1用例图 1.2业务流程分析 1.3业务ER图 1.4 管理任务流程图 1.5功能设计详细说明点 1.6页面原型 三.本人相关其他文章链接 摘要 ①d ...

最新文章

  1. B+树比B树更适合索引
  2. mysql scws_php利用scws实现mysql全文搜索功能的方法,_PHP教程
  3. 八、爬虫解析利器 PyQuery 的使用
  4. html5 居中 字体 字号,css字体水平居中
  5. 数据结构 - 单调栈、单调队列
  6. 使用conda/pip安装pytorch 0.3.1教程(mac/windos/linux) pytorch 0.2.1
  7. 同时对view延时执行两个动画时候的现象
  8. git如何查看缓存区文件内容_详解Git工作区、暂存区、历史记录区以及git reset、git revert、git checkout等撤销命令的区别...
  9. 广度优先搜索——好奇怪的游戏(洛谷 P1747)
  10. 读Pyqt4教程,带你入门Pyqt4 _007
  11. iphone 如何卸载xcode4.2
  12. java使用ffmpeg进行视频处理
  13. [归并排序] 二路归并排序
  14. 无源晶振(Crystal)的负载电容
  15. 计算机中单位换算tb,bit Byte KB MB GB TB 单位换算
  16. 6张图教你搞定侧方停车----fwqlzz love is for ever
  17. opencv4图像基本变化
  18. 如何使用ps制作ico图标文件
  19. python arp断网攻击_arp断网攻击操作指导书
  20. Git命令问题:fatal: Exiting because of unfinished merge

热门文章

  1. mysql独有的函数_数据库之MySQL函数(一)
  2. mounted钩子函数_Vue 探索之路——生命周期和钩子函数的一些理解
  3. lvs服务器需要开启web服务么_Centos7搭建LVS+Keepalived高可用Web
  4. C# 依据KeyEventArgs与组合键字符串相互转换
  5. testNG入门详解
  6. 【iCore3应用开发平台】发布 iCore3 应用开发平台出厂代码rev0.0.2
  7. 在Oracle里,表的别名不能用as,列的别名可以用as
  8. ZOJ 2562 More Divisors
  9. 一张图说明我们为什么要关注 HTML5
  10. .Net Excel 部分操作