Hbase各组件职责
Hbase各组件职责
Client职责
1、HBase有两张特殊表: .META.:记录了用户所有表拆分出来的的Region映射信息,.META.可以有多个Regoin -ROOT-:记录了.META.表的Region信息,-ROOT-只有一个Region,无论如何不会分裂
2、Client访问用户数据前需要首先访问ZooKeeper,找到-ROOT-表的Region所在的服务器位置,然后访 问-ROOT-表,接着访问.META.表,最后才能找到用户数据的服务器位置去访问,中间需要多次网络操作,不 过client端会做cache缓存。
ZooKeeper**职责
1、ZooKeeper为HBase提供Failover机制,选举Master,避免单点Master单点故障问题
2、存储所有Region的寻址入口:-ROOT-表在哪台服务器上。-ROOT-这张表的位置信息
3、实时监控RegionServer的状态,将RegionServer的上线和下线信息实时通知给Master
4、存储HBase的Schema,包括有哪些Table,每个Table有哪些Column Family
Master职责
1、为RegionServer分配Region
2、负责RegionServer的负载均衡
3、发现失效的RegionServer并重新分配其上的Region master是管理者,一个hbase系统会有很多表,每个表又有很多region,那么这些region到底交给那 些region来管理就是由 master来决定
4、HDFS上的垃圾文件(HBase)回收 region会compact也会split,必然会有失效的数据
5、处理Schema更新请求(表的创建,删除,修改,列簇的增加等等) 这些关于schema的数据都是存储在ZOOKEeper,但是是master是负责更新的 如果涉及到表的创建,修改,删除等操作,master宕机了就没法做,但是数据的插入和查询还是可以继续做
RegionServer职责
1、RegionServer维护Master分配给它的Region,处理对这些Region的IO请求 2、负责和底层的文件系统HDFS的交互,存储数据到HDFS 每个regionserver内部都有一个客户端(datnaode的代理)。 负责把数据写入到HDFS 3、负责Store中的HFile的合并Compact工作 + split工作 4、RegionServer负责Split在运行过程中变得过大的Region,负责Compact操作 SplitPolicy 分割策略:有三个默认的策略!
如果master宕机了,那些事情不能做:
1、创建,修改,删除,表
2、负责均衡不能做
3、split不能做了。
那些操作能继续做呢?
1、读数据 2、写数据
Hbase各组件职责的更多相关文章
- 一起学HBase——简单介绍HBase各种组件
HBase是谷歌BigTble的开源实现.谷歌的三篇论文拉开了大数据江湖的序幕,铸就了现在以Hadoop为主的大数据技术生态圈.而HBase是开源的大数据数据库,和传统的行式数据库不同的是,HBase ...
- Hadoop(hadoop,HBase)组件import到eclipse
1.简介: 将源代码import到eclipse可以方便的阅读和修改源码. 2.环境说明: mac mvn工具(Apache Maven 3.3.3 ) 3.hadoop(CDH5.4.2) 1.进入 ...
- Netty服务端创建流程及组件职责
public class NettyServer { public static void main(String[] args) throws InterruptedException { NioE ...
- HBase功能组件
- 从零自学Hadoop(19):HBase介绍及安装
阅读目录 序 介绍 安装 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 上一篇, ...
- Hbase原理、基本概念、基本架构
来源:http://blog.csdn.net/woshiwanxin102213/article/details/17584043 概述 HBase是一个构建在HDFS上的分布式列存储系统:HBas ...
- Hbase原理
Hbase原理 概述 HBase是一个构建在HDFS上的分布式列存储系统:HBase是基于Google BigTable模型开发的,典型的key/value系统:HBase是Apache Hadoop ...
- iOS 组件化 —— 路由设计思路分析
原文 前言 随着用户的需求越来越多,对App的用户体验也变的要求越来越高.为了更好的应对各种需求,开发人员从软件工程的角度,将App架构由原来简单的MVC变成MVVM,VIPER等复杂架构.更换适合业 ...
- hbase 存储结构和原理
HBase的表结构 建表时要指定的是:表名.列族 建表语句 create 'user_info', 'base_info', 'ext_info' 意思是新建一个表,名称是user_info,包含两个 ...
随机推荐
- 怎样使MathType插入章节标记不显示
作为专业的公式编辑器,MathType可以帮助大家在Word中插入数学公式,有的时候还需要插入章节标记,那么怎样使章节标记不显示呢?下面就教大家使MathType插入章节标记不显示的技巧. 实际问题如 ...
- 吉他软件Guitar Pro入门
Guitar Pro是一款优秀的吉他学习软件,初学者可以依靠其学习理论知识,也可以通过和弦添加.曲谱导出等功能来提升弹奏能力.今天,小编就给大家简略地介绍下吉他软件Guitar Pro. 乐谱编辑功能 ...
- 商业智能(BI)可视化大屏的设计及使用原则
信息时代,数据是一种可贵的资源,我们可能经常听到的一句话就是:用数据说话.但是,在没有进行系统化整理之前,数据不过只是一串串冰冷的数字,我们很难从大量的数据中获取到有价值的信息.只有通过合适的可视化工 ...
- Python基础整理,懒得分类了,大家对付看看吧
第一次搞这么多图
- Leetcode 周赛#202 题解
本周的周赛题目质量不是很高,因此只给出最后两题题解(懒). 1552 两球之间的磁力 #二分答案 题目链接 题意 有n个空篮子,第i个篮子位置为position[i],现希望将m个球放到这些空篮子,使 ...
- HTML+JavaScript画函数图像
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 如何修改Docker的默认网段?
背景 公司的服务器全部都是购买的阿里云ECS主机,默认内网网段为172.16.0.0/12,测试服上的服务基本都是使用Docker部署的. 之前的同事在该机器上安装的Docker全部都是默认配置,网段 ...
- @Async失效之谜
@Async如何使用 异步的方法上加上@Async异步注解 启动类中需要加上@EnableAsync才有效 使用时类似于下列函数: new Thread(()-> System.out.prin ...
- 这次我让你彻底弄懂 RESTful
微信搜 「yes的练级攻略」干货满满,不然来掐我,回复[123]一份20W字的算法刷题笔记等你来领.欢迎分享,转载请保留出处. 本文已收录至 https://github.com/yessimida/ ...
- bootstrap 按钮颜色属性
bootstrap 按钮颜色属性有几种