Hbase深入学习(一) 什么是hbase
Hbase深入学习(一) 什么是hbase
一、hbase是什么?
首先hbase是一个在Hadoop的HDFS分布式存储系统上介于映射(key/value)的nosql的分布式数据库;它通常会被描述成一个存储稀疏数据的具有分布式、持久化、多维度的经过排序的map,你也一定过一些人把它当做是一个面向列(column family-oriented)的key/value的具有多版本机制的数据库。主要有以下特性:
1、提供随机、实时读写查询,由hbase的架构和LSM—Tree数据结构保证;
2、高容错,该特性是由HDFS保证;
3、分布式和线性扩展;
4、面向列和存储松散数据;
5、存储的数据可以有多版本;
6、表结构简单,数据类型单一(只能保存byte[]值);
7、不支持事物这一特性,但具有row的强一致性;
8、表的自动切分;
9、节点自动故障恢复和选举机制,由ZooKeeper提供该功能;
10、可以方便的为MapReduce、hive和pig等继承;
11、没有单节点故障问题。
hbase是hadoop的整个生态系统上一个重要的组成部分,他弥补了hadoop只能提供高延时的批处理的MapReduce功能,他对app向下提供了存储,向上又提供实时运算和查询;另外又可以使用MapReduce的并行计算模型进行大规模的数据处理,hbase将数据存储和并行计算、实时与批处理几乎完美的结合了起来。
Hbase在Hadoop Ecosystem中的位置
二、hbase集群中的节点分类和通信
hbase集群中的节点分为HMasterServer和HRegion Server两种,采用Master-Slave的模式,但是不像hadoop中的集群那样有单点故障的问题。
hbase cluster中的节点是通过ZooKeeper集群来通信的,由ZooKeeper来监听hbase集群中的节点的状态。
hbase集群可以设置多个HMasterServer节点,但是同一时刻只能有一个处于激活状态提供服务的节点,HMaster节点没有单点故障的问题,当ZooKeeper集群会在一个监听周期内监听到正处于服务状态的HMaster当机后,ZooKeeper集群会通过选举机制来选举出另外一个HMaster节点为整个hbase集群提供服务,ZooKeeper总能保证hbase集群中总有一个HMaster可用;ZooKeeper会监听HRegionServer的状态,并提供故障节点的自动故障恢复功能。
由于hbase集群中的节点状态及节点间的通信是有ZooKeeper提供的,故必须单独建立一个
ZooKeeper集群。
三、hbase集群中的节点的作用
hbase主要负责hbase table和HRegion Server的管理工作,包括一下几点:
1、管理HRegionServer服务器的负载均衡,调整regions在HRegion Server服务器节点之间的中的分布,以避免热点HRegion服务器;
2、在region分裂后,负责新的HRegion的分配;
3、当某个HRegionServer当机或停机后,负责失效HRegion服务器上的region的迁移。
HRegion Server主要功能为以下几个方面:
1、负责响应用户请求(即对HTable的增、删、改查等操作);
2、负责HRegionServer中HFile的合并操作,包括Minor和major comparison两种策略;
3、HRegion的自动水平分割。
Hbase深入学习(一) 什么是hbase的更多相关文章
- Hbase深入学习(六) Java操作HBase
Hbase深入学习(六) ―― Java操作HBase 本文讲述如何用hbase shell命令和hbase java api对hbase服务器进行操作. 先看以下读取一行记录hbase是如何进行工作 ...
- HBase 学习之一 <<HBase使用客户端API动态创建Hbase数据表并在Hbase下导出执行>>
HBase使用客户端API动态创建Hbase数据表并在Hbase下导出执行 ----首先感谢网络能够给我提供一个开放的学习平台,如果没有网上的技术爱好者提供 ...
- Hbase深入学习(二) 安装hbase
Hbase深入学习(二) 安装hbase This guidedescribes setup of a standalone hbase instance that uses the local fi ...
- Hadoop学习---Hadoop的HBase的学习
Hbase Hbase的特点: Hbase是bigtable的开源的仿制版本 建立在HDFS之上 可靠性,靠性能 大:一个表可以有上亿行,上百万列 面向列:面向列(族)的存储和权限控制,列(族)独立检 ...
- 大数据学习(16)—— HBase环境搭建和基本操作
部署规划 HBase全称叫Hadoop Database,它的数据存储在HDFS上.我们的实验环境依然基于上个主题Hive的配置,参考大数据学习(11)-- Hive元数据服务模式搭建. 在此基础上, ...
- 大数据学习(14)—— HBase进阶
HBase读写流程 在网上找了一张图,这个画的比较简单,就拿这个图来说吧. 写流程 1.当Client发起一个Put请求时,首先访问Zookeeper获取hbase:meta表. 2.从hbase:m ...
- Hadoop学习笔记—15.HBase框架学习(基础实践篇)
一.HBase的安装配置 1.1 伪分布模式安装 伪分布模式安装即在一台计算机上部署HBase的各个角色,HMaster.HRegionServer以及ZooKeeper都在一台计算机上来模拟. 首先 ...
- 大数据学习系列之二 ----- HBase环境搭建(单机)
引言 在上一篇中搭建了Hadoop的单机环境,这一篇则搭建HBase的单机环境 环境准备 1,服务器选择 阿里云服务器:入门型(按量付费) 操作系统:linux CentOS 6.8 Cpu:1核 内 ...
- 【Hbase学习之二】Hbase 搭建
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop-3.1.1 hbase-2.1.3 一.单机模 ...
随机推荐
- linux系统文件夹的作用 good
/bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 如:环境变量 /etc/rc.d 启动的配置文件和脚本 /home用户主目录的基点,比如用户user的主目录就是/ho ...
- XMPP通讯开发-1
有关XMPP的相关知识这里就不讲解了,网上有很多,这里我使用的NetBeans+Openire+smack搭建一个以XMPP协议的通讯工具,对于这部分知识我也不是很了解,也是初识吧,可能有些概念会混淆 ...
- 遍历父视图上的button
for (UIView * thebtn in [self.view subviews]) { if ([thebtn isKindOfClass:[UIButton class]]) { //*** ...
- 一个操作EXCEL的C#类ExcelUtils
近期在公司里一直从事服务类的工作,涉及到非常多excel的处理.部分工作内容是每天反复的,仅仅是每天的数据不同而已.我遇到的一个问题是客户每天发送的几种数据有些excel中的字段顺序是一致的,有些是不 ...
- JVM 垃圾回收机制( 一) 回收对象的判定
关于JVM 的垃圾回收机制,我们一般都没过多深入,因为JAVA 和 C++ 的一个很大区别就是,JAVA 帮我们做了垃圾回收,而不用像C++ 那么样手动进行回收,当然任何自动的东西都存在一定弊端,比如 ...
- win7 下面使用任务计划程序执行php脚步
1.操作系统中点击开始->所有程序->附件->系统工具->任务计划程序 2.如下图 3.下一步,如图: . 4.下一步,如图 5.下一步,如下图: 6.这样设置好以后,就可以了 ...
- 数据库监控[Z]
--查看表锁 select * from sys.v_$sqlarea where disk_reads>100 --监控事例的等待 select event,sum(decode(wai ...
- (原创) C# List 找 Max 的 Index
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- WCF如何在浏览器访问
1.新建wcf服务看到有如下两个方法,在浏览器调用框中的方法.
- 实现一个宽和高都是100像素的div可以用鼠标拖拽移动的效果
html,body{ width:100%;height:100%;margin:0px;padding:0px; } #box{ width:100px;height:100px;backgroun ...