第十一章 大数据技术与实践

weixin_45905327 2019-12-03 02:53:14
1.大数据的定义: 麦肯锡全球研究所给出的定义是:一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。数据量大(Volume)、变化速度快(Velocity)、多类型(Variety)、与高价值(Value)。   2.大数据存储平台: (1)HDFS(Hadoop分布式文件系统)      问题提出:当需要存储的数据很多很大,一台机器存储不了时,需要将数据切割成块,使用多台机器分布式存储这些数据 HDFS有3大主要角色: NameNode(以下简称NN  总负责控制器,存储原数据,不负责客户间数据的读取) SecondaryNameNode(以下简称SNN) DataNode(以下简称DN  存储真实的数据) NameNode的主要工作就是和Client(客户端)打交道,接受他们的请求,以及管理元数据和集群(DataNode)。NameNode将元数据存储在内存中,但内存不稳定。若NN要将元数据写到磁盘中,则要经过复杂的IO操作,而且得锁内存,不能对外服务。这使整个系统效率大大降低,显然不可取。于是就出现了SecondaryNameNode。 SecondaryNameNode则负责帮NN分担任务量,持久化内存中的除block位置信息外的所有元数据。 DataNode的工作就是存储block数据,向Client提供读操作。 (2)备份机制 备份机制是为了保证数据安全,HDFS的默认数据备份数是2。当启用备份机制时,DataNode的数量必须大于等于数据备份数+1。 第一个副本(备份1)block存储在与原文件block(源)不同机架上的随机一台服务器上 第二个副本(备份2)存储在第一个副本相同的机架的其他随机一个服务器上   3.HBase(Hadoop的分布式、开源的、多版本的非关系型数据库)  HBase集群一般由一个HMaster,多个HRegionServer组成,选择了一致性和分区容忍性 (1) Client Client有访问Hbase的接口,会去meta表查询目标region所在位置(此信息会放入缓存),并连接对应RegionServer进行数据读写。 当master rebalance region时,Client会重新进行查找。 (2) Zookeeper HMaster和RegionSerer都注册到ZK上,使HMaster可感知RegionServer上下线。 选举,保证HMaster HA。 保存,META.表所在RegionServer位置 (3) HMaster 监控RegionServe状态,并为之分配Region,以维护整个集群的负载均衡。 通过HMasterInterface接口维护集群的元数据信息,管理用户对table的增删改查操作。 Region Failover:发现失效的Region,就到正常的RegionServer上恢复该Region。 RegionSever Failover:由HMaster对其上的region进行迁移。 (4) HRegionServer 主要职责: 处理用户读写请求,并和底层HDFS的交互。我们说RegionServer拥有某个region意思是这个region读写、flush之类的操作都是由当前regionserver管理的。如果该RegionServer本地没有HDFS DataNode 底层数据就要从其他DataNode节点远程读写。 负责Region变大以后的split。 负责Storefile的合并工作。   HRegionServer组件: 一个RegionServer上存在多个Region和一个HLog读写实例。 HLog的就是WAL(Write-Ahead-Log),相当于RDBMS中的redoLog,写数据时会先写一份到HLog。可以配置MultiWAL,多Region时使用多个管道来并行写入多个WAL流。 一个RS共用一个HLog的原因是减少磁盘IO开销,减少磁盘寻道时间。 Region属于某个表水平拆分的结果(初始一个Region),每个表的Region分部到多个RegionServer。 Region上按列族划分为多个Store 每个Store有一个MemStore,当有读写请求时先请求MemStore 每个Store又有多个StoreFile HFiles是数据的实际存储格式,他是二进制文件。StoreFile对HFile进行了封装。HBase的数据在底层文件中时以KeyValue键值对的形式存储的,HBase没有数据类型,HFile中存储的是字节,这些字节按字典序排列。
...全文
41 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

778

社区成员

发帖
与我相关
我的任务
社区描述
云计算 网络相关讨论
社区管理员
  • 网络
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧