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: 1572864000hbase.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 集成的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 时间 本周 本月_mysql
- 下一篇: Unity游戏开发团队包括哪些角色?