大数据离线

Posted lifuwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据离线相关的知识,希望对你有一定的参考价值。

HDFS

HDFS基本概念

HDFS 介绍

HDFS 是 Hadoop Distribute File System 的简称,意为:Hadoop 分布式文件系统,分布式文件系统解决的问题就是数据存储。

HDFS设计目标

  1. HDFS 将有成百上千的服务器组成硬件故障是常态,因此故障的检测和自动快速恢复是 HDFS 的核心架构目标。
  2. HDFS 上的应用主要是以流式读取数据,因此比之数据访问的反应时间,更关
    键的在于数据访问的高吞吐量。
  3. 运行在 HDFS 之上的程序有很大量的数据集,所以HDFS 被调整成支持大文件
  4. 大部分 HDFS 应用对文件要求的是 write-one-read-many 访问模型。
  5. 移动计算的代价比之移动数据的代价低。
  6. 在异构的硬件和软件平台上的可移植性。

HDFS重要特性

首先,它是一个文件系统,用于存储文件,通过统一的命名空间目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。

  1. master/slave架构
    Namenode 是 HDFS 集群主节点,Datanode 是 HDFS 集群从节点
  2. 分块存储
    HDFS 中的文件在物理上是分块存储(block)的
  3. 名字空间(NameSpace)
    HDFS 支持传统的层次型文件组织结构,Namenode 负责维护文件系统的名字空间
  4. Namenode元数据管理
    我们把目录结构及文件分块位置信息叫做元数据。Namenode 负责维护整个hdfs 文件系统的目录树结构,以及每一个文件所对应的 block 块信息。
  5. Datanode数据存储
    文件的各个 block 的具体存储管理由 datanode 节点承担。每一个 block 都可以在多个 datanode 上。Datanode 需要定时向 Namenode 汇报自己持有的 block信息
  6. 副本机制
    为了容错,文件的所有 block 都会有副本
  7. 一次写入,多次读出
    HDFS 是设计成适应一次写入,多次读出的场景,且不支持文件的修改。

HDFS基本原理

NameNode概述

  • NameNode 是 HDFS 的核心。
  • NameNode 也称为 Master。
  • NameNode 仅存储 HDFS 的元数据:文件系统中所有文件的目录树,并跟踪整个集群中的文件。
  • NameNode 不存储实际数据或数据集。数据本身实际存储在 DataNodes 中。
  • NameNode 知道 HDFS 中任何给定文件的块列表及其位置。使用此信息NameNode 知道如何从块中构建文件。
  • NameNode 并不持久化存储每个文件中各个块所在的 DataNode 的位置信息,这些信息会在系统启动时从数据节点重建。
  • NameNode 对于 HDFS 至关重要,当 NameNode 关闭时,HDFS / Hadoop 集群无法访问。
  • NameNode 是 Hadoop 集群中的单点故障。
  • NameNode 所在机器通常会配置有大量内存(RAM)

DataNode概述

  • DataNode 负责将实际数据存储在 HDFS 中。
  • DataNode 也称为 Slave。
  • NameNode 和 DataNode 会保持不断通信。
  • DataNode 启动时,它将自己发布到 NameNode 并汇报自己负责持有的块列表。
  • 当某个 DataNode 关闭时,它不会影响数据或群集的可用性。NameNode 将安排由其他 DataNode 管理的块进行副本复制。
  • DataNode 所在机器通常配置有大量的硬盘空间。因为实际数据存储在DataNode 中。
  • DataNode 会定期(dfs.heartbeat.interval 配置项配置,默认是 3 秒)向NameNode 发送心跳,如果 NameNode 长时间没有接受到 DataNode 发送的心跳, NameNode 就会认为该 DataNode 失效。
  • block 汇报时间间隔取参数 dfs.blockreport.intervalMsec,参数未配置的话默认为 6 小时.

HDFS的工作机制

NameNode 负责管理整个文件系统元数据;DataNode 负责管理具体文件数据块存储;Secondary NameNode 协助 NameNode 进行元数据的备份。
HDFS 的内部工作机制对客户端保持透明,客户端请求访问 HDFS 都是通过向NameNode 申请来进行。

  1. HDFS写数据流程
    技术分享图片

  2. HDFS读数据流程
    技术分享图片












以上是关于大数据离线的主要内容,如果未能解决你的问题,请参考以下文章

粗谈大数据的演变过程

实时和离线,大数据计算引擎谁主沉浮

实时和离线,大数据计算引擎谁主沉浮

实时和离线,大数据计算引擎谁主沉浮

大数据在线离线一体化解决方案最佳实践

《大数据开发》Hive