HDFS 2.X对比HDFS1.X 主要是HA—Zookeeper

HDFS2.X

- 解决了HDFS1.0中单点故障和内存受限问题(metaData将要加载到内存)

- 解决单点故障

  HDFS HA:通过主备NameNode解决

  如果住NameNode发生故障,则切换到备用的NameNode上

- 解决内存受限问题

  HDFS Federation

  水平扩展,支持多个NameNode

  每个NameNode分管一部分目录

  所有NameNode共享所有DataNode存储资源

- 2.X仅是架构发生了变化,使用方式不变

- 对HDFS使用者透明

- HDFS1.X中的命令和API任然可以使用


HDFS2.X HA


一个集群中只允许一个活动的NameNode(Active)。

NameNode的两个功能:

1.获取客户端的读写服务

2.存放元数据,元数据包括fsimage和edits文件

fsimage是NameNode格式化的时候产生的,edits是客户端操作读写上传下载文件等的日志。


HA时

1.Standby拷贝Active的fsimage文件

2.Active的edits文件,存放在内部集群中。把edits文件保存在JournalNodes上(图中绿色的)。fsimage文件和edits文件合并也是JournalNode机器来做。

Standby和Active的区别就是少了客户端的读写请求,其余一模一样。


- 主备NameNode

- 解决单点故障

  主NameNode对外提供服务,备NameNode同步主NameNode元数据,以待切换

  所有DataNode同时向两个NameNode汇报数据块信息。

- 两种切换选择

  手动切换:通过命令实现主备之间的切换,可以用HDFS升级等场合

  自动切换:给予Zookeeper实现

- 基于Zookeeper自动切换方案

   Zookeeper Failover Controller:监控NameNode健康状态

   并向Zookeeper注册NameNode

   NameNode挂掉后,ZKFC为NameNode竞争锁,获得ZKFC锁的NameNode变为Active


一个Zookeeper集群为多个服务做高可用。

Zookeeper两大功能:

1.内存数据库保存NameNode的状态信息和位置信息,多副本

2.选举

通过NameService ID来区分不同的服务。

NameNodeID区分NameNode



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值