第四次作业

(1)

Hadoop是道格·卡丁(Doug Cutting)创建的。

2003-2004年,Google公布了部分GFS和MapReduce思想的细节,受此启发的Doug Cutting等人用2年的业余时间实现了DFS和MapReduce机制,使Nutch性能飙升。然后Yahoo招安Doug Gutting及其项目。

2005年,Hadoop作为Lucene的子项目Nutch的一部分正式引入Apache基金会。

2006年2月被分离出来,成为一套完整独立的软件,起名为Hadoop

(2)(3)

1、HDFS 采用主/从架构,主节点即NameNode 从节点即:DataNode

2、NameNode即是模式, 并完成外模式和模式之间的映像,模式和内模式之间的映像。

3、NameNode存放HDFS全局命名空间,充当全局数据目录;存储全局文件系统树,目录-文件-文件块信息

NameNode存放的数据块信息是在启动时扫描所有数据节点重构;

在运行过程中周期性受到数据节点发送的数据块列表信息重构而得;

4、在客户端读取数据过程中,将数据块和数据节点映射按远近排序列表发送给客户端;

5、在客户端写数据过程中,检查文件是否存在、是否有权限;将待写入文件分成若干文件块,并根据数据节点的繁忙和磁盘容量程度,分配数据块和数据节点对应关系列表反馈给客户端

 (4)

1.为Region server分配region;负责region server的负载均衡;发现失效的region server并重新分配其上的region;HDFS上的垃圾文件回收;处理schema更新请求

2.Region server维护Master分配给它的region,处理对这些region的IO请求;Region server负责切分在运行过程中变得过大的region,可以看到,client访问hbase上数据的过程并不需要master参与(寻址访问zookeeper和region server,数据读写访问regione server),master仅仅维护者table和region的元数据信息,负载很低。

3.保证任何时候,集群中只有一个master;存贮所有Region的寻址入口—-root表在哪台服务器上;实时监控Region Server的状态,将Region server的上线和下线信息实时通知给Master;存储Hbase的schema,包括有哪些table,每个table有哪些column family

4.

(1)读请求过程:
1 客户端通过zookeeper以及root表和meta表找到目标数据所在的regionserver
2 联系regionserver查询目标数据
3 regionserver定位到目标数据所在的region,发出查询请求
4 region先在memstore中查找,命中则返回
5 如果在memstore中找不到,则在storefile中扫描(可能会扫描到很多的storefile—-bloomfilter)

(2)写请求过程:
1 client向region server提交写请求
2 region server找到目标region
3 region检查数据是否与schema一致
4 如果客户端没有指定版本,则获取当前系统时间作为数据版本
5 将更新写入WAL log
6 将更新写入Memstore
7 判断Memstore的是否需要flush为Store文件。

(5)

HBase的数据通常存储在HDFS上。HDFS为HBase提供了高可靠性的底层存储支持。

Hbase是Hadoop database即Hadoop数据库。它是一个适合于非结构化数据存储的数据库,HBase基于列的而不是基于行的模式。
HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据。


 

posted @ 2021-11-16 15:06  、杰瑞  阅读(34)  评论(0编辑  收藏  举报