IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> hbase全重点面试题笔记 -> 正文阅读

[大数据]hbase全重点面试题笔记

hbase的体系结构
	client:
		提供了访问hbase的各种接口
		维护了一个缓存,缓存最近的访问记录,用来加快访问hbase	
	zookeeper:
		监控hMaster,保证有一个活跃的节点来管理整个集群
		实时监控HregionServer的状态,并将其通知给HMaster
		存储hbase的元数据信息,比如meta,meta-region-server表
	HMaster
		负责对region的切分,分配
		负责regionServer的负载均衡
		负责客户端的schema请求
		负责hdfs上的垃圾回收
	HRegionServer
		负责本机region的管理
		真正负责客户端的读写请求
		负责与hdfs上进行交互
	Hlog
		记录下客户端的所有请求,防止机器宕机,可以进行回滚操作
		格式是WAL格式
	region
		region是hbase的最小存储单元,可以是一张表,也可以是一张表的一部分
		region的名字是由rowkey的行范围来进行标识的
	store
		region又被划分为很多的store,store对应的是一个列族,也是hdfs下的一个目录,所以不同列族下的数据在不同的文件目录下面
		里面维护了一个memStore
	memStore
		写入数据真正进行操作的地方,数据写入后会进行对rowkey的排序,通过rowkey的(长度,时间)等进行排序
		memestre有一个阈值,阈值是内存的40% 或者一小时 或者128M
	StoreFile
		当mem达到阈值,就会flush成一个storefile,所以storefile有很多个,当达到一定的数量阈值之后,就会对storefile进行合并操作,去掉过多的版本号,以及标记要删除的值
		storefile也有一个阈值为10G,当达到阈值10G,就会造成storefile的切分,storefile的切分也会造成region的切分,将一个region切分成两个新的region,一个旧的region下线,两个新的region上线
hbase的存储机制:

1.region是hbase的最小的存储单位,region是一张表,也可以是一张表的一部分,region的名字是由rowkey的行范围来进行划分的
2.region里面维护了很多的store,store对应一个列族,也对应hdfs上的一个存储的目录,store里面维护了一个memstore
3.memstore是真正对数据进行操作的地方,memstore会对写入的数据进行rowkey的排序,根据rowkey(长度,版本戳)等进行拍序,memestore有一个阈值是128M或者内存的40%或者一小时
4.当memestore达到阈值,就会将数据flush成一个个storefile,所以storefile就会有多个,当达到一定的数量的阈值,就会进行store file的合并操作,过滤掉版本号过多的单元格,以及标记删除的单元格,当达到阈值10G就会造成storefile的切分,storefile的切分会引起region的切分,将一个旧的region切分成两个新的region,一个旧的region下线,两个新的region上线
5.最后flush成hfile保存在hdfs上
hbase的写流程
1.client通过zookeeper的调度,想hmaster发出请求,请求在region写入数据
2.数据被写入到region中的memstore中知道memestore达到阈值128M或者1小时或者内存的40%
3.memestore达到阈值flush成storefile,所以storefile有多个,当达到一定的数量阈值就会进行合并操作,将过多的版本号,以及标记要删除的rowkey过滤掉
4.storefile会随着时间越来越大,当到达阈值10G,就会造成storefile的切分,storefile的切分就会引起region的切分,一个旧的region切分成两个新的region,旧的region下线,两个新的region上线
5.最后形成hfile持久化存储在hdfs上面
布隆过滤器:
	原理:布隆过滤器是一个由64kb的初始权威0的位数组和n个hash函数组成的,每存入一个值就会对这个值进行n的hash函数的运算,运算之后得到n个下标,将这些得到的下标值全都赋值为1

	用处:当要检查一个值是否在这个region中的时候,我们就可以通过n个hash函数的计算,得到n个下标,在数组中进行判断,如果这n个下标中有一个是0,这个值一定不在这个region中,如果这n个下标都是1,这个值也不一定在这个region中
rowkey的设计原则:
1.唯一性原则(避免出翔覆盖)
2.长度一致原则(避免出现排序异常)
3.散列原则(避免热点key问题) 将设计的rowkey进行反转
4.加盐方式(在rowkey前面加随机字符串)
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-21 12:15:18  更:2021-10-21 12:17:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 2:45:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码