大数据特点
4V:数据量大(volume)、数据类型繁多(variety)、处理速度快(velocity)、价值密度低(value)
Hadoop
Hadoop 是一个开源分布式计算平台,提供了系统底层细节透明的分布式架构基础。Hadoop的核心是分布式文件系统HDFS和MapReduce。Hadoop采用分布式存储和分布式处理两大核心技术,其设计目标是可以高效稳定运行在廉价的计算机集群上(低成本),可以扩展到数以千计计算机节点,从而可以采用冗余数据存储方式,当一个节点数据出现问题,其他副本可以提供服务。
同普通文件系统,分布式文件系统采用块(磁盘块)的概念,是文件系统读写操作的最小单位,块是数据读写的基本单元。HDFS默认一个块大小是64MB。
分布式文件系统物理结构
由计算机集群多个节点构成,两类节点:主节点(master)/名称节点(name)、从节点(slave)/数据节点(data)。名称节点负责文件(包括数据节点)和目录的创建、删除和重命名等,同时管理数据节点和文件块的映射关系,因此客户端只有访问名称节点才能找到请求的文件块所在位置,进而找到相应位置读取文件块。数据节点负责数据的存储和读取。存储时,名称节点分配存储位置;读取时,从名称节点获取数据节点文件块,再由客户端写入或访问数据。
客户端需要访问一个文件时,首先从名称节点获得这个文件的数据块的位置列表,然后根据列表获取实际存储各个数据块的数据节点的位置,最后数据节点根据数据块信息在本地文件系统找到对应文件,并把数据返回客户端。
HDFS体系结构
采用主从(master/slave)结构模型,一个HDFS集群包括一个名称节点和若干个数据节点。名称节点作为中心服务器,负责管理文件系统的命名空间(命名空间包括目录、文件和块)和客户端对文件的访问;数据节点负责处理文件系统客户端的读写请求,在名称节点统一调度下进行数据块创建、删除、复制等操作。每个数据节点会周期性向名称节点发送“心跳”信息,报告自己的状态,没有按时发送则会被标记为“宕机”。
HDFS存储原理
冗余存储:采取多副本方式存储数据,因此保证了系统的容错性和可用性。