HDFS2.0

文章目录

NameNode HA

• 什么问题:Hadoop 1.0中NameNode在整个HDFS中只有一个,存在单点故障风险,一旦NameNode挂掉,整个集群无法使用
• 解决方法:HDFS的高可用性将通过在同一个集群中运行两个NameNode (Active NameNode & Standby NameNode )来解决
• 在任何时间,只有一台机器处于Active状态;另一台机器是处于Standby状态
• Active NN负责集群中所有客户端的操作;
• Standby NN主要用于备用,它主要维持足够的状态,如果必要,可以提供快速的故障恢复。

架构如下:
在这里插入图片描述
在这里插入图片描述
同步问题:需要依赖JournalNodes守护进程,完成元数据的一致性
在这里插入图片描述
• 快速的故障恢复:心跳保证,Standby NN也需要保存集群中各个文件块的存储
位置
• 避免分歧:任何情况下,NameNode只有一个Active状态,否则导致数据的丢失及其它不正确的结果
– 如何做到?
– 在任何时间,JNs只允许一个 NN充当writer。在故障恢复期间,将要变成Active 状态的NN
将取得writer的角色,并阻止另外一个NN继续处于Active状态

• 节点分配:
– NameNode machines:运行Active NN和Standby NN的机器需要相同的硬件配置
– JournalNode machines:也就是运行JN的机器。 JN守护进程相对来说比较轻量,所以这些
守护进程可以可其他守护线程(比如NN,YARN ResourceManager)运行在同一台机器上
• 在一个集群中,最少要运行3个JN守护进程,这将使得系统有一定的容错能力。
• 在HA集群中,Standby NN也执行namespace状态的checkpoints,所以不必
要运行Secondary NN、 CheckpointNode和BackupNode;事实上,运行这
些守护进程是错误的

namenode federation
集群中提供多个NameNode,每个NameNode负责管理一部分DataNode
在这里插入图片描述
好处:实现NameNode的横向扩展,使得Hadoop集群的规模可以达到上万台

HDFS快照
• HDFS快照是一个只读的基于时间点文件系统拷贝
• 快照可以是整个文件系统的也可以是一部分。
常用来作为数据备份,防止用户错误操作和容灾恢复。
• Snapshot 并不会影响HDFS 的正常操作:修改会按照时间的反序记录,这样可
以直接读取到最新的数据。
• 快照数据是当前数据减去修改的部分计算出来的。
• 快照会存储在snapshottable的目录下。

• HDFS快照是对目录进行设定,是某个目录的某一个时刻的镜像
• 对于一个snapshottable文件夹,“.snapshot” 被用于进入他的快照 /foo 是一个
snapshottable目录,/foo/bar是一个/foo下面的文件目录,/foo有一个快照s0,那么路径就是
:/foo/.snapshot/s0/bar
• hdfs dfsadmin -allowSnapshot /user/spark
• hdfs dfs -createSnapshot /user/spark s0
• hdfs dfs -renameSnapshot /user/spark s0 s_init
• hdfs dfs -deleteSnapshot /user/spark s_init
• hdfs dfsadmin -disallowSnapshot /user/spark

HDFS ACL
• Hadoop从2.4.0开始支持
• 目前HDFS的权限控制与Linux一致,包括用户、用户组、 其他用户组三类权限,这种方
式有很大局限性
• 首先参数上要开启基本权限和访问控制列表功能
– dfs.permissions.enabled
– dfs.namenode.acls.enabled
• 常用命令:
– hadoop fs -getfacl /input/acl
– hdfs dfs -setfacl -m user:mapred:r-- /input/acl
– hdfs dfs -setfacl -x user:mapred /input/acl

HDFS2.2后部分为搭建hadoop2.0和HDFS2.0
待续…

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值