HDFS节点详解

设计思想

  分而治之:将大文件、大批量文件,分布式放在大量服务器上,以便于采取分而治之的方式对海量数据进行预算分析;

  在大数据系统中的作用:为各类分布式运算框架(如:MapReduce,Spark等)提供数据存储服务

  重要概念:文件切块,副本存放,元数据

HDFS架构

  

HDFS各节点

  NameNode是HDFS的主节点,负责元数据的管理以及客户端对文件的访问。管理数据块的复制,它周期性地从集群中的每个DataNode接收心跳信号和块状态报告(Blockreport)

  DataNode是HDFS的从节点,负责具体数据的读写,数据的存储。

    数据块在DataNode以文件存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据(包括数据块的长度,快数据的效验以及时间戳)

    DataNode启动向NameNode注册,通过后,周期性(1小时)的向NameNode上报告所有块信息。心跳是每三秒一次,心跳返回结果带有NameNode给该DataNode的命令(如复制块数据到另一台服务器,或删除某个数据块。如果超过十分钟没有收到某个DataNode的心跳,则认为该节点不可用。

  SecondaryNameNode:负责元数据的同步

  Client(客户端): 负责数据读写请求的发起

文件:

  HDFS中的文件是分块存储(block),块的大小可以通过配置参数(dfs.blocksize)来规定,默认大小在Hadoop2.X版本中是128M,老版本是64M,,每个块有多个副本存储在不同的机器上,副本数可在文件生成时指定(默认3)

  NameNode 负责文件元数据的操作,DataNode负责处理文件内容的读写请求。

  数据块存放在哪些DataNode上由 NameNode来控制,根据全局情况做出块放置决定,读取文件时NameNode尽量让用户先读取最近的副本,降低带块消耗和读取时延。

  数据块损坏处理:当DataNode读取块的时候,它会计算checksum,如果计算后的checksum与block创建时值不一样,说明该block已损坏,则认为该节点不可用,客户端会读取其它DataNode上的block,NameNode标记该block已经损坏,然后复制其他节点的block达到预期设置的文件备份数(默认每个块存储三份,存储在不同的DataNode节点上)。DataNode在其文件创建三周后验证其checksum。

NameNode启动过程:简述

    1.加载fsimage和edits文件,生成新的fsimage和一个空的edits文件

    2.等待DataNode注册和发送心跳

    3.DataNode启动,向NameNode注册,发送心跳报告、块报告

    4.NameNode离开安全模式。

NameNode启动过程:详解

      1、Name启动的时候首先将fsimage(镜像)载入内存,并执行(replay)编辑日志editlog的的各项操作;

      2、一旦在内存中建立文件系统元数据映射,则创建一个新的fsimage文件(这个过程不需 SecondaryNameNode) 和一个空的editlog;

    3、在安全模式下,各个datanode会向namenode发送块列表的最新情况;

    4、此刻namenode运行在安全模式。即NameNode的文件系统对于客服端来说是只读的。(显示目录,显示文 件内容等。写、删除、重命名都会失败);

    5、NameNode开始监听RPC和HTTP请求

      解释RPC:RPC(Remote Procedure Call Protocol)——远程过程通过协议,它是一种通过网络从远程计算机程序 上请求服务,而不需要了解底层网络技术的协议;

     6、系统中数据块的位置并不是由namenode维护的,而是以块列表形式存储在datanode中;

    7、在系统的正常操作期间,namenode会在内存中保留所有块信息的映射信息。

原文地址:https://www.cnblogs.com/ken-kqj/p/10175659.html

时间: 2024-08-27 07:23:10

HDFS节点详解的相关文章

asp.net的sessionState节点详解

web.config关于sessionState节点的配置方案,sessionState有四种模式:off,inProc,StateServer,SqlServer. 1.off模式 从字面上就可以看出这个是关闭模式,如果当前页面不需要session的值,为了减少服务器资源,你可以去掉Session的开销. <sessionState mode="off">或者页面上 <%@ Page EnableSessionState="false" %>

HDFS概念详解---名称节点与数据节点

HDFS集群有两种节点,以管理者-工作者的模式运行,即一个名称节点(管理者)和多个数据节点(工作者).名称节点管理文件系统的命名空间.它维护着这个文件系统树及这个树内所有的文件和索引目录.这些信息以两种形式将文件永久保存在本地磁盘上:命名空间镜像和编辑日志.名称节点也记录着每个文件的每个块所在的数据节点,但它并不永久保存块的位置,因为这些信息会在系统启动时由数据节点重建. 客户端代表用户通过与名称节点和数据节点交互来访问整个文件系统.客户端提供一个类似POSIX(可移植操作系统界面)的文件系统接

hadoop1中hdfs原理详解

HDFS是Hadoop Distribute File System的简称,也是Hadoop的一个分布四文件系统 一.HDFS的主要设计理念 1.存储超大文件 这里的 “超大文件” 是指几百MB .GB甚至 TB级别的文件. 2.最高效的访问模式是一次写入.多次读取(流式数据访问)  HDFS存储的数据集作为hadoop的分析对象,在数据集生成后,长时间在此数据集上进行各种分析.每次分析都将设计该数据的大部分数据甚至全部数据,因此读取整个数据集的时间延迟比读取第一条记录的时间延迟更重要. 3.运

kettle连接hadoop&amp;hdfs图文详解

1 引言: 项目最近要引入大数据技术,使用其处理加工日上网话单数据,需要kettle把源系统的文本数据load到hadoop环境中 2 准备工作: 1 首先 要了解支持hadoop的Kettle版本情况,由于kettle资料网上较少,所以最好去官网找,官网的url: http://wiki.pentaho.com/display/BAD/Configuring+Pentaho+for+your+Hadoop+Distro+and+Version 打开这个url 到页面最下面的底端,如下图: ar

HDFS入门详解

一. 前提和设计目标 1. 硬件错误是常态,因此需要冗余,这是深入到HDFS骨头里面去了 HDFS可能由成百上千的服务器所构成,每个服务器上存储着文件系统的部分数据.我们面对的现实是构成系统的组件数目是巨大的,而且任一组件都有可能失效,这意味着总是有一部分HDFS的组件是不工作的.因此错误检测和快速.自动的恢复是HDFS最核心的架构目标 2. 流式数据访问 即:数据批量读取而非随机读写(OLTP),Hadoop擅长的是数据分析而不是事物处理 3. 大规模数据集 HDFS上的一个典型文件大小一般都

kettle入门(三) 之kettle连接hadoop&amp;hdfs图文详解(转)

1 引言: 项目最近要引入大数据技术,使用其处理加工日上网话单数据,需要kettle把源系统的文本数据load到hadoop环境中 2 准备工作: 1 首先 要了解支持hadoop的Kettle版本情况,由于kettle资料网上较少,所以最好去官网找,官网的url: http://wiki.pentaho.com/display/BAD/Configuring+Pentaho+for+your+Hadoop+Distro+and+Version 打开这个url 到页面最下面的底端,如下图: ar

kettle入门(三) 之kettle连接hadoop&amp;hdfs图文详解

1 引言: 项目最近要引入大数据技术,使用其处理加工日上网话单数据,需要kettle把原始文本数据load到hadoop环境中 2 准备工作: 1 首先 要了解支持hadoop的Kettle版本情况,由于kettle资料网上较少,所以最好去官网找,官网的url: http://wiki.pentaho.com/display/BAD/Configuring+Pentaho+for+your+Hadoop+Distro+and+Version 打开这个url 到打开页面最下面的底端如下图: arc

JBPM 4.4 流程节点详解

1.       流程定义节点 a)       <processname="" xmlns="" key="", version=""> b)       name: i.             流程定义的名称: c)        key: i.             流程关键字(键值): ii.             如果默认不写key值,就是name值: iii.             在程序通过k

HDFS安全模式详解

什么是安全模式 安全模式是HDFS所处的一种特殊状态,在这种状态下,文件系统只接受读数据请求,而不接受删除.修改等变更请求.在NameNode主节点启动时,HDFS首先进入安全模式,DataNode在启动的时候会向namenode汇报可用的block等状态,当整个系统达到安全标准时,HDFS自动离开安全模式.如果HDFS出于安全模式下,则文件block不能进行任何的副本复制操作,因此达到最小的副本数量要求是基于datanode启动时的状态来判定的,启动时不会再做任何复制(从而达到最小副本数量要求