大数据技术之Hadoop-HDFS架构

大数据技术之Hadoop-HDFS架构

  • 官方网站
  • 简介
  • 假设与目标
    • 硬件故障
    • 流式数据访问
    • 大数据集
    • 简单一致性模型
    • “移动计算比移动数据便宜”
    • 跨异构硬件和软件平台的可移植性
  • NameNode和DataNodes
  • 文件系统命名空间
  • 数据副本
    • 第一步:副本的放置
    • 副本的选择
    • 安全模式
  • 文件系统元数据的持久化
  • 通讯协议
  • 可靠性
    • 数据磁盘故障,心跳和复制
    • 集群的再平衡
    • 数据的完整性
    • 元数据磁盘的故障
    • 快照
  • 数据组织
    • 数据块
    • 复制管道
  • 辅助功能
    • FS脚本
    • DFSAdmin
    • 浏览器界面
  • 空间的填充
    • 文件删除和取消删除
  • 减少副本因子
  • 参考文献

官方网站

HDFS架构

简介

Hadoop分布式文件系统(HDFS)是一种旨在在商品硬件上运行的分布式文件系统。它与现有的分布式文件系统有许多相似之处。但是,与其他分布式文件系统的区别也很明显。HDFS具有高度的容错能力,目的是为了能部署在低成本的硬件上。HDFS提供对应用程序数据的高吞吐量访问,并且适用于具有大数据集的应用程序。HDFS放宽了一些POSIX要求,以实现对文件系统数据的流式访问。HDFS最初是作为Apache Nutch Web搜索引擎项目的基础结构而构建的。HDFS是Apache Hadoop Core项目的一部分。项目的访问地址


假设与目标

硬件故障

硬件故障是正常现象,而非例外。HDFS实例可能包含成百上千个服务器计算机,每个服务器计算机都存储文件系统数据的一部分。存在大量组件并且每个组件的故障概率都很高的事实意味着HDFS的某些组件始终无法运行。因此,检测故障并快速,自动地从故障中恢复是HDFS的核心目标。


流式数据访问

在HDFS上运行的应用程序需要对其数据集进行流式访问。通常它们不是运行在普通的文件系统上的通用应用程序。HDFS被设计用于批处理,而不是用户交互使用。重点在于数据访问的高吞吐量,而不是数据访问的低延迟。POSIX提出了许多针对HDFS的应用程序不需要的硬性要求。在一些关键领域中,POSIX语义已经被交易以提高数据吞吐率。


大数据集

在HDFS上运行的应用程序具有大量数据集。HDFS中的典型文件大小为GB到TB。因此,HDFS已调整为支持大文件。它应提供较高的聚合数据带宽,并可以扩展到单个群集中的数百个节点。它应该在单个实例中支持数千万个文件。


简单一致性模型

HDFS应用程序需要文件一次写入多次读取访问模型。一旦创建,写入和关闭的文件,除了追加和删除外,无需更改。支持将内容追加到文件末尾,但不能在任意点更新。该假设简化了数据一致性问题并实现了高吞吐量数据访问。MapReduce应用程序或Web爬网程序应用程序非常适合此模型。


“移动计算比移动数据便宜”

如果应用程序所请求的计算在其所操作的数据附近执行,则效率会更高。当数据集的大小巨大时,尤其如此。这样可以最大程度地减少网络拥塞,并提高系统的整体吞吐量。假设通常是将计算迁移到更靠近数据的位置,而不是将数据移动到应用程序正在运行的位置。HDFS为应用程序提供了接口,使它们自己更靠近数据所在的位置。


跨异构硬件和软件平台的可移植性

HDFS的设计目的是可以轻松地从一个平台移植到另一个平台。这有助于将HDFS广泛用作大量应用程序的首选平台。


NameNode和DataNodes

HDFS具有主/从体系的架构。HDFS群集只

你可能感兴趣的:(大数据技术之Hadoop)