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 一.单机模 ...
随机推荐
- QObject的event函数就可以改写对消息的处理
一个既自己处理Tab事件又自己处理某些按键事件,然后将其它不需自己处理的事件转发给基类处理: bool MyWidget::event(QEvent *event){ if (event->ty ...
- Rightmost Digit(快速幂+数学知识OR位运算) 分类: 数学 2015-07-03 14:56 4人阅读 评论(0) 收藏
C - Rightmost Digit Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit ...
- 【HDU 4547 CD操作】LCA问题 Tarjan算法
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4547 题意:模拟DOS下的cd命令,给出n个节点的目录树以及m次查询,每个查询包含一个当前目录cur和 ...
- Machine Learning - Lecture 16
Reinforcement Learning (R.L.) ① MDPs (Markov Decision Processes) ② Value Functions ③ Value Iteration ...
- ssl相关
http://www.willrey.com/support/ssl_DES.html http://www.07net01.com/linux/Linuxdejiamirenzhenggongnen ...
- myeclipse修改tomcat端口
myeclipse自带的tomcat可以直接在myeclipse下面进行配置,但是如果是配置的tomcat 只能自己手动修改了
- Sql Server使用正则表达式
近日因项目需求,需要在sql server中用到正则表达式,因Sql Server本身并不支持正则表达式,需要用到Clr函数. 在此记录一下步骤,与大家共享,虽然写的是原创,但有参考网上的文章. 1. ...
- C# 之 抽象类与接口
抽象类 C#同意把类和方法声明为abstract,即抽象类和抽象方法.抽象类通常代表一个抽象概念,它提供一个继承的出发点,当设计一个新的对象类时,一定是用来继承的,所以,在一个以继承关系形成的等级结构 ...
- JS给元素循环添加事件的问题
<ul> <li>男</li> <li>女</li> <li>老</li> <li>少</li&g ...
- 教训:TOJ[4081] God Le wants to know the directory
以前的字符串题本来就弱..2年不写就更弱了.嗯.留作教训 God Le is the most talented ACMer in the TJU-ACM team. When he wants to ...