微软OneNote客户预览版学习工具下载(暂未上线):教学好帮手
600
2022-05-28
1.1.5 HDFS数据完整性保障
HDFS主要目的是保证存储数据完整性,对于各组件的失效,做了可靠性处理。
(1) 重建失效数据盘的副本数据
DataNode与NameNode之间通过心跳周期汇报数据状态,NameNode管理数据块是否上报完整,如果DataNode因硬盘损坏未上报数据块,NameNode将发起副本重建动作以恢复丢失的副本。
(2) 集群数据均衡
HDFS架构设计了数据均衡机制,此机制保证数据在各个DataNode上分布是平均的。
(3) 元数据可靠性保证
采用日志机制操作元数据,同时元数据存放在主备NameNode上。
快照机制实现了文件系统常见的快照机制,保证数据误操作时,能及时恢复。
(4) 安全模式
当节点硬盘故障时,进入安全模式,HDFS只支持访问元数据,此时HDFS上的数据是只读的,其他的操作如创建、删除文件等操作都会导致失败。待硬盘问题解决、数据恢复后,再退出安全模式。
HDFS3.0新特性
(1) 支持HDFS中的纠删码Erasure Coding
Erasure Coding纠删码技术简称EC,是一种数据保护技术.最早用于通信行业中数据传输中的数据恢复,是一种编码容错技术.他通过在原始数据中加入新的校验数据,使得各个部分的数据产生关联性.在一定范围的数据出错情况下,通过纠删码技术都可以进行恢复.EC技术可以防止数据丢失,又可以解决HDFS存储空间翻倍的问题。
创建文件时,将从最近的祖先目录继承EC策略,以确定其块如何存储。与3路复制相比,默认的EC策略可以节省50%的存储空间,同时还可以承受更多的存储故障。
建议EC存储用于冷数据,由于冷数据确实数量大,可以减少副本从而降低存储空间,另外冷数据稳定,一旦需要恢复数据,对业务不会有太大影响。
(2) 基于HDFS路由器的联合
HDFS基于路由器的联合会添加一个RPC路由层,提供多个HDFS命名空间的联合视图。这与现有ViewFS和HDFS联合功能类似,不同之处在于安装表由服务器端由路由层而不是客户端进行管理。这简化了对现有HDFS客户端的联合集群的访问。与现有ViewFs和HDFS联合功能类似),不同之处在于安装表由服务器端由路由层而不是客户端进行管理。这简化了对现有HDFS客户端的联合集群的访问。
(3) 支持多个NameNode
允许用户运行多个备用NameNode。例如,通过配置三个NameNode和五个JournalNode,群集能够容忍两个节点的故障,而不是一个故障。
但是Active的NameNode始终只有1个,余下的都是Standby。 Standby NN会不断与JN同步,保证自己获取最新的editlog,并将edits同步到自己维护的image中去,这样便可以实现热备,在发生failover的时候,立马切换成active状态,对外提供服务。同时,JN只允许一个active状态的NN写入
(4) DataNode内部添加了负载均衡
支持单个Datanode上,不同硬盘间的数据balancer。老版本的hadoop只支持在Datanode之间进行balancer,每个节点内部不同硬盘之间若发生了数据不平衡,则没有一个好的办法进行处理。现在可以通过hdfs diskbalancer命令,进行节点内部硬盘间的数据平衡。该功能默认是关闭的,需要手动设置参数dfs.disk.balancer.enabled为true来开启。
Hadoop 分布式
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。