HDFS 2.X对比HDFS1.X 主要是HA—Zookeeper
来源:互联网 发布:中华民族知乎 编辑:程序博客网 时间:2024/05/20 23:58
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
- HDFS 2.X对比HDFS1.X 主要是HA—Zookeeper
- HDFS 2.x HA机制
- Hadoop2.x之HDFS HA Federation
- zookeeper+hadoop2.X HA集群搭建
- hadoop 2.x之HDFS HA讲解之六 HA机器规划
- hadoop2.x新特性HDFS HA、YARN HA,分布式搭建
- Hadoop 容错之1.X的单点故障 到 2.X的HA和HDFS Federation
- hadoop 2.x之HDFS HA讲解之七根据官方文档一步一步的配置HDFS HA
- hadoop 2.x之HDFS HA讲解之八HDFS HA测试启动NameNode遇见错误分析解决
- hadoop 2.x之HDFS HA讲解之九HDFS HA测试启动服务进程、页面监控查看和解决问题
- hadoop 2.x之HDFS HA讲解之十二基于已有HDFS集群配置NN HA
- HDFS1.0 与HDFS2.x 架构理解
- HDFS文件系统 -- 2.x
- Ubuntu上使用Hadoop 2.x 十二 HDFS Cluster HA QJM和Federation联合使用
- Hadoop 2.x之HDFS利用QJM实现HA高可用
- Hadoop2.X.0+zookeeper HA分布式集群部署
- 《Hadoop 2.x HDFS源码剖析》2 — HDFS 通信协议
- cocos2d-x 2.X demo学习笔记 2 ----controller源码 主要是滚动菜单的操作
- java和javaweb基础 (四)
- 算法设计与应用基础
- 字符串操作
- 堆排序原理及算法实现(最大堆)
- codeforces 160A(Twins) Java
- HDFS 2.X对比HDFS1.X 主要是HA—Zookeeper
- 自动修改像素比
- 夏至未至
- LaTeX数学公式
- Javax.swing中JFrame.getContentPane().add(pane)与JFrame.add(pane)有何区别?
- php 乱码, 在头部添加utf-8 怎么加
- Java-判断回文数
- jsonp跨域
- iOS 关键字 static extern const volatile 区别及应用场景