springboot+hbase 集成
项目中使用 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 集成相关推荐
- springboot项目集成dolphinscheduler调度器 实现datax数据同步任务
Datax安装及基本使用请查看上一篇文章: 文章目录 Datax概述 1.概述 2.功能清单 3.==说明==:本项目只支持mysql及hbase之间的数据同步 代码模块 配置文件 pom.xml D ...
- springboot项目集成docker
文章目录 一.docker常用命令 0.拉取镜像到本地仓库 1.查看所有镜像 2.创建一个新的容器并运行,返回的是容器的ID -- CONTAINER ID: 3.查看运行中的docker实例 4.查 ...
- springboot的jsp应该放在哪_在springboot中集成jsp开发
springboot就是一个升级版的spring.它可以极大的简化xml配置文件,可以采用全注解形式开发,一个字就是很牛. 在springboot想要使用jsp开发,需要集成jsp,在springbo ...
- springboot+mybatis集成自定义缓存ehcache用法笔记
今天小编给大家整理了springboot+mybatis集成自定义缓存ehcache用法笔记,希望对大家能有所办帮助! 一.ehcache介绍 EhCache 是一个纯Java的进程内缓存管理框架,属 ...
- Springboot/Cloud集成Sentinel 和 入门实战
文章目录 一.Springboot/Cloud集成Sentinel 1. spring-cloud-alibaba依赖 2. 引入 Sentinel starter 3. 配置application. ...
- springboot nacos_springboot集成nacos
1.现在nacos进行配置添加 2.springboot项目集成nacos nacos上有说明,根据不同的工程进行配置,如下图 集成nacos客户端包 com.alibaba.boot nacos-c ...
- SpringBoot 2 集成微信扫码支付
前言 该文主要是手把手教你如何在SpringBoot 中集成微信扫码支付,以及集成的过程需要注意的问题事项.另外需要感谢 vbirdbest 关于微信支付和支付宝支付相关包博客总结.因为文中很多地方参 ...
- MyBatis系列之--Java 项目(非SpringBoot)集成MyBatis
MyBatis系列之--Java 项目(非SpringBoot)集成MyBatis 对MyBatis简单介绍 核心接口SqlSessionFactory 实战 1. Maven创建Java项目 2. ...
- springboot项目集成大数据第三方dolphinscheduler调度器
文章目录 摘要 项目背景 功能要求 功能说明 1.1用例图 1.2业务流程分析 1.3业务ER图 1.4 管理任务流程图 1.5功能设计详细说明点 1.6页面原型 三.本人相关其他文章链接 摘要 ①d ...
最新文章
- B+树比B树更适合索引
- mysql scws_php利用scws实现mysql全文搜索功能的方法,_PHP教程
- 八、爬虫解析利器 PyQuery 的使用
- html5 居中 字体 字号,css字体水平居中
- 数据结构 - 单调栈、单调队列
- 使用conda/pip安装pytorch 0.3.1教程(mac/windos/linux) pytorch 0.2.1
- 同时对view延时执行两个动画时候的现象
- git如何查看缓存区文件内容_详解Git工作区、暂存区、历史记录区以及git reset、git revert、git checkout等撤销命令的区别...
- 广度优先搜索——好奇怪的游戏(洛谷 P1747)
- 读Pyqt4教程,带你入门Pyqt4 _007
- iphone 如何卸载xcode4.2
- java使用ffmpeg进行视频处理
- [归并排序] 二路归并排序
- 无源晶振(Crystal)的负载电容
- 计算机中单位换算tb,bit Byte KB MB GB TB 单位换算
- 6张图教你搞定侧方停车----fwqlzz love is for ever
- opencv4图像基本变化
- 如何使用ps制作ico图标文件
- python arp断网攻击_arp断网攻击操作指导书
- Git命令问题:fatal: Exiting because of unfinished merge
热门文章
- mysql独有的函数_数据库之MySQL函数(一)
- mounted钩子函数_Vue 探索之路——生命周期和钩子函数的一些理解
- lvs服务器需要开启web服务么_Centos7搭建LVS+Keepalived高可用Web
- C# 依据KeyEventArgs与组合键字符串相互转换
- testNG入门详解
- 【iCore3应用开发平台】发布 iCore3 应用开发平台出厂代码rev0.0.2
- 在Oracle里,表的别名不能用as,列的别名可以用as
- ZOJ 2562	 More Divisors
- 一张图说明我们为什么要关注 HTML5
- .Net Excel 部分操作