HDFS 基本介绍
前言
Hadoop内部组成
HDFS: 海量数据的存储
MapReduce: 海量数据的离线计算
Yarn: 集群资源调度
1. 什么是HDFS?
H: Hadoop;
D: Distribute 分布式;
F: File 文件;
S: Systerm 系统;
HDFS 是 Hadoop Distribute File System 的简称,意为:Hadoop 分布式文件系统。是 Hadoop 核心组件之一,作为最底层的分布式存储服务而存在。
Hadoop 分布式文件系统图解
2. HDFS主要作用
存储海量数据
为什么能存储海量数据???
因为其空间大,空间大的原因为服务器多、磁盘多。且支持扩展
组成部分:
管理者(Master): NameNode, 集群中有1-2个,用于管理集群中的工作者
工作者(Slave): DataNode, 集群中有多个,真正存储和计算数据组件
辅助管理: SecondaryNameNode, 辅助管理者工作
3.HDFS存储数据的方式
以数据块的方式存储数据。默认一个数据块128M,该数值可以修改。
注意:这里的128仅仅是切分数据的阈值。
一个大的数据被切分成多个小的128M的数据块,分别存储在集群多个节点的不同位置。
数据副本机制
数据副本默认是3份。
一个数据存储到HDFS后,数据自动复制两份,共三份(三分相同的数据-数据冗余)
数据副本存放机制
第一个副本在客户端所在的节点(客户端也是集群内的节点),若客户端在集群外,那么根据s一定的计算规则选一个节点。
第二份副本,在与第一份相同机柜,且不在同一个服务器的节点上。
第三份与第一份第二份不在同一个机柜,且逻辑距离(网络拓扑)最近的机柜选择一个节点存储。
什么是名字空间?
名字空间:HDFS文件系统的目录树
通俗的说就是:把装文件路径的空间(或者说是文件夹)命为名字空间
NameNode的作用
1、 维护目录树,维护命名空间。
2、 负责确定指定的文件块到具体的Datanode结点的映射关系。(在客户端与Datanode之间共享数据)
3、管理Datanode结点的状态报告
DataNode的作用
1、 负责管理它所在结点上存储的数据的读写,及存储数据。
2、 向Namenode结点报告DataNode节点的状态。
3、 通过流水线复制实现三份数据副本,