这是我参加[第四届青训营]笔记创作活动的第6天。
计算框架 Flink Spark 查询引擎 Presto 数据管理 HDFS(hadoop distributed file system)
mit6.84 04\应用场景
HDFS概述 1.HDFS是什么
Hadoop Distributed File System:分步式文件系统 源自于Google的GFS论文,发表于2003年10月,HDFS是GFS克隆版 HDFS是Hadoop体系中数据存储管理的基础 通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序 提供一次写入多次读取的机制,数据以块的形式,同时分布在集群不同物理机器上 高度容错性的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行
2.Hadoop 2重要的新功能
高可用性HA
消除Hadoop 1中存在的单点故障**,其中NameNode故障将导致整个集群中断 HDFS的高可用性提供自动故障转移功能**,备用节点自动从失败的主NameNode接管工作
Federation
允许集群中出现多个NameNode,各个NN间相互独立且不需要互相协调,各自分工,管理自己的区域; DataNode 被用作通用的数据块存储设备;每个DataNode要向集群中所有NameNode注册,并发送心跳报告
3.HDFS客户端
Web client(http://node1:50070) Java API->Idea插件(big data tool) NameNode 的高可用架构主要分为下面几个部分:
Active NameNode 和 Standby NameNode:两台 NameNode 形成互备,一台处于 Active 状态,为主 NameNode,另外一台处于 Standby 状态,为备 NameNode,只有主 NameNode 才能对外提供读写服务。
主备切换控制器 ZKFailoverController:ZKFailoverController 作为独立的进程运行,对 NameNode 的主备切换进行总体控制。ZKFailoverController 能及时检测到 NameNode 的健康状况,在主 NameNode 故障时借助 Zookeeper 实现自动的主备选举和切换,当然 NameNode 目前也支持不依赖于 Zookeeper 的手动主备切换。