首页 > 其他 > 详细

hbase干货

时间:2019-11-19 19:54:47      阅读:113      评论:0      收藏:0      [点我收藏+]
区别

做nosql有很多,hive与hbase,二者都是基于hadoop的,不同是,hive基于类sql引擎的,所以可以用HSQL语句来 用来统计查询,返回数据比较慢,默认是便利表中所有的数据。
hbase呢是key/value的数据库,用来实时查询是比较擅长的,facebook的消息实时分析用此,

名词:MapReduce
由master分配任务给worker执行,map函数读取被分配的输入数据片段,输出中间key/value pair值的集合,reduce函数手机具有相中中间key值的value值,合并这些value值,形成一个较小的value值的集合
把一些数据通过map来归类,通过reducer来把同一类的数据进行处理

技术分享图片

hbase理解的应该有以下几个模块

简单理解hbase更新数据,首先写到hlog日志,然后同时通过hregionserver 到region,再通过store模块的memstore存储,如果达到设置的值则执行store file,flush到hfile中,这样这几个模块都用上了

master或者hmaster 是Master Server的实现,负责监控集群中的RegionServer实例,同时是所有metadata改变的接口,在集群中,通常运行在NameNode上面
hregionserver 是RegionServer的实现,服务和管理Regions,集群中RegionServer运行在DataNode
region 代表table,Region有多个Store(列簇),Store有一个Memstore和多个StoreFiles(HFiles),StoreFiles的底层是Block
连接 https://blog.csdn.net/maketubu7/article/details/80612930
https://blog.csdn.net/huangliuyu00/article/details/79704371
Hlog
memstore
store file

Hlog如何保证hbase一致性的
HBase的可靠性是通过HLog实现的,HLog机制是WAL(Write-Ahead Logging)的一种实现,预写日志。WAL是事务机制中常见的一致性实现方式。每个Region Server中都会有一个HLog实现,Region Server更新操作时,先把记录到写到WAL(也就是HLog)中,再写入到Store的MemStore,最终MemStore会将数据写入到持久化的HFile中,当MemStore到达配置的内存阀值时。通过先写WAL(HLog),再写MemStore,这样的方式保证写的可靠性。
如果没有WAL,当Region Server宕掉的时候,MemStore还没写入到HFile,或者StoreFile还没保存,那么数据就会丢失。而HFile的数据由HDFS保证的,默认HDFS中会有3份。

如果服务器崩溃,region server会回访Hlog,通过数据回写,来恢复服务器的内存数据。下图显示了写入过程,也是一个Hbase的框架图
————————————————
技术分享图片

另外cell,column family ,columns ,table,row,定义是什么

这个连接很清楚https://blog.csdn.net/huangliuyu00/article/details/79704371
https://juejin.im/post/5c8b7d585188257e937de505#heading-24
https://juejin.im/post/5c666cc4f265da2da53eb714#heading-1

hbase干货

原文:https://blog.51cto.com/aklaus/2451526

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!