赞
踩
出错节点 | 探测错误及恢复 |
---|---|
NameNode | 名称节点保存了所有的元数据信息,其中,最核心的两大数据结构是FsImage和Editlog,如果这两个文件发生损坏,那么整个HDFS实例将失效。因此,HDFS设置了备份机制,把这些核心文件同步复制到备份服务器SecondaryNameNode上。当名称节点出错时,就可以根据备份服务器 Secondary NameNode中的FsImage和Editlog数据进行恢复。 |
Secondary NameNode | 每个数据节点会定期向名称节点发送“心跳”信息,向名称节点报告自己的状态当数据节点发生故障,或者网络发生断网时,名称节点就无法收到来自一些数据节点的心跳信息,这时,这些数据节点就会被标记为“宕机”,节点上面的所有数据都会被标记为“不可读”,名称节点不会再给它们发送任何I/O请求 .这时,有可能出现一种情形,即由于一些数据节点的不可用,会导致一些数据块的副本数量小于冗余因子.名称节点会定期检查这种情况,一旦发现某个数据块的副本数量小于冗余因子,就会启动数据冗余复制,为它生成新的副本HDFS可以调整冗余数据的位置。 |
DataNode | 网络传输和磁盘错误等因素,都会造成数据错误.客户端在读取到数据后,会采用md5和sha1对数据块进行校验,以确定读取到正确的数据.在文件被创建时,客户端就会对每一个文件块进行信息摘录,并把这些信息写入到同一个路径的隐藏文件里面.当客户端读取文件的时候,会先读取该信息文件,然后,利用该信息文件对每个读取的数据块进行校验,如果校验出错,客户端就会请求到另外一个数据节点读取该文件块,并且向名称节点报告这个文件块有错误,名称节点会定期检查并且重新复制这个块。 |
Hadoop Mapreduce | Zookeeper | HDFS | sqoop | pig&Hive |
---|---|---|---|---|
利用其来处理HBase中的海量数据,实现高性能计算 | 作为协同服务,实现稳定服务和失败恢复 | 作为高可靠的底层存储,利用廉价集群提供海量数据存储能力 | Sqoop为HBase的底层数据提供导入功能 | 提供高层语言支持 |
行键 | 列族 | 时间戳 |
---|---|---|
唯一,在一个表里只出现一次,否则就是在更新同一行,行键可以是任意的字节数组。 | 需要在创建表的时候就定义好,数量也不宜过多。列族名必须由可打印字符组成,创建表的时候不需要定义好列。 | 默认由系统指定,用户也可以显示设置。使用不同的时间戳来区分不同的版本。 |
库函数 | 一个Master主服务器 | 许多个Region服务器 |
---|---|---|
链接到每个客户端 | 主服务器Master主要负责表和Region的管理工作 | Region服务器是HBase中最核心的模块,负责维护分配给自己的Region,并响应用户的读写请求 |
客户端 | Zookeeper服务器 | Master | Region服务器 |
---|---|---|---|
客户端包含访问HBase的接口,同时在缓存中维护着已经访问过的Region位置信息,用来加快后续数据访问过程 | Zookeeper可以帮助选举出一个Master作为集群的总管,并保证在任何时刻总有唯一一个Master在运行,这就避免了Master的“单点失效”问题 | 主服务器Master主要负责表和Region的管理工作:管理用户对表的增加、删除、修改、查询等操作;实现不同Region服务器之间的负载均衡;在Region分裂或合并后,负责重新调整Region的分布;对发生故障失效的Region服务器上的Region进行迁移 | Region服务器是HBase中最核心的模块,负责维护分配给自己的Region,并响应用户的读写请求 |
会话一致性 | 单调写一致性 | 单调读一致性 | 因果一致性 | “读己之所写”一致性 |
---|---|---|---|---|
它把访问存储系统的进程放到会话(session)的上下文中,只要会话还存在,系统就保证“读己之所写”一致性。如果由于某些失败情形令会话终止,就要建立新的会话,而且系统保证不会延续到新的会话; | 系统保证来自同一个进程的写操作顺序执行。系统必须保证这种程度的一致性,否则就非常难以编程了 | 如果进程已经看到过数据对象的某个值,那么任何后续访问都不会返回在那个值之前的值 | 如果进程A通知进程B它已更新了一个数据项,那么进程B的后续访问将获得A写入的最新值。而与进程A无因果关系的进程C的访问,仍然遵守一般的最终一致性规则 | 可以视为因果一致性的一个特例。当进程A自己执行一个更新操作之后,它自己总是可以访问到更新过的值,绝不会看到旧值 |
原子性(Atomicity) | 一致性(consistency) | 隔离性(Isolation) | 持久性(Durability) |
---|---|---|---|
指事务必须是原子工作单元,对于其数据修改,要么全都执行,要么全都不执行。 | 指事务在完成时,必须使所有的数据都保持一致状态。 | 指并发事务所做的修改必须与其他并发事务所做的修改隔离。 | 指事务完成之后,它对于系统的影响是永久性的,该修改即使出现致命的系统故障也将一直保持。 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。