一,NameNode:

1,  Namenode是中心服务器,单一节点(简化系统的设计和实现),负责管理文件系统的名称空间(namespace)以及客户端对文件的访问。

2, 文件操作,Namenode负责文件元数据的操作,DataNode负责处理文件内容的读写请求,跟文件内容相关的数据流不会经过Namenode,只会询问它跟那个DataNode联系,否则Namenode会成为系统的瓶颈。

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

 3,Namenode全权管理数据块的复制,它周期性地从集群中的每个Datanode接收心跳信号和块状态报告。接收到心跳信号意味着该Datanode节点工作正常。块状态报告包含了一个该Datanode上所有数据块的列表。

 4,Namenode是主节点,存储文件的元数据如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限)以及每个文件的块列表,以及块所在的DataNode等等。

二,DataNode

1,一个数据块在Datanode以文件存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。

Datanode启动后想namenode注册,通过后,周期性(1小时)的向namenode上报所有的块信息。

心跳是每3秒一次,心跳返回结果带有namenode给该Datanode的命令如复制块数据到另一台机器,或删除某个数据块。如果超过10分钟没有收到某个Datanode的心跳,则认为该节点不可用。集群运行中可用安全加入和退出一些机器。

2, 文件切分成块,(默认大小128M),以块为单位,每个块有多个副本存储在不同的机器上,副本数可在文件生成时指定(默认3)

Datanode再本地文件系统存储文件块数据,以及块数据的校验和。可以创建,删除,移动和重命名文件,当文件创建,写入和关闭之后不能修改文件的内容。

3,当Datanode读取block的时候,它会计算checksum,如果计算后的checksum,与block创建时值不一样,说明该block已经损坏。如果块已损坏,Client会读取其它Datanode上的block.namenode标记该块已经损坏,然后复制block达到预期设置的文件备份数。Datanode在其文件创建后三周验证其checksum.

hadoop的hdfs中的namenode和datanode知识总结的更多相关文章

  1. 018 HDFS中,namenode与datanode的交互

    1.解释 2.启动过程 namenode需要等待给他汇报块的情况,然后namenode会给datanode一个反馈. namenode在启动的时候有一个等待的过程. 3.如果有块损坏 等待报告中,na ...

  2. hadoop 的HDFS 的 standby namenode无法启动事故处理

    standby namenode无法启动 现象:线上使用的2.5.0-cdh5.3.2版本Hadoop,开启了了NameNode HA,HA采用QJM方式.hadoop的集群的namenode的sta ...

  3. Hadoop架构: HDFS中数据块的状态及其切换过程,GS与BGS

    该系列总览: Hadoop3.1.1架构体系——设计原理阐述与Client源码图文详解 : 总览 首先,我们要提出HDFS存储特点: 1.高容错 2.一个文件被切成块(新版本默认128MB一个块)在不 ...

  4. HDFS中的NameNode名节点——FSimage

    HDFS缓冲区 Fsimage 文件映射,Edits文件操作记录. 与ES的缓冲区不同,ES是维护数据的变更,而HDFS缓冲区是用于名结点维护文件系统元数据(目录树)的机制. 在HDFS集群中,Nam ...

  5. hadoop的hdfs中的javaAPI操作

    package cn.itcast.bigdata.hdfs; import java.net.URI; import java.util.Iterator; import java.util.Map ...

  6. 初识HDFS(10分钟了解HDFS、NameNode和DataNode)

    概览 首先我们来认识一下HDFS, HDFS(Hadoop Distributed File System )Hadoop分布式文件系统.它其实是将一个大文件分成若干块保存在不同服务器的多个节点中.通 ...

  7. 【Hadoop】HDFS的运行原理

    博文已转移,请借一步说话http://www.weixuehao.com/archives/596 简介 HDFS(Hadoop Distributed File System )Hadoop分布式文 ...

  8. NameNode与DataNode的工作原理剖析

    NameNode与DataNode的工作原理剖析 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HDFS写数据流程 >.客户端通过Distributed FileSyst ...

  9. Hadoop之HDFS(二)HDFS基本原理

    HDFS 基本 原理 1,为什么选择 HDFS 存储数据  之所以选择 HDFS 存储数据,因为 HDFS 具有以下优点: 1.高容错性 数据自动保存多个副本.它通过增加副本的形式,提高容错性. 某一 ...

随机推荐

  1. 推荐系统实践 0x13 Word2Vec

    Word2Vec是谷歌团队提出的,让词向量在自然语言处理当中再度流行,并且推广到了广告.搜索.推荐等各个领域当中.Word2Vec顾名思义,就是一个生成对词的向量表达的模型.假设我们使用一组句子组成的 ...

  2. hdp、cdh版本大数据maven仓库

    Hdp版本: <repositories> <repository> <id>nexus</id> <name>local private ...

  3. Linux常用命令(df&dh)

    在Linux下查看磁盘空间使用情况,最常使用的就是du和df了.然而两者还是有很大区别的,有时候其输出结果甚至非常悬殊. du的工作原理 du命令会对待统计文件逐个调用fstat这个系统调用,获取文件 ...

  4. JavaScript 内存详解 & 分析指南

    前言 JavaScript 诞生于 1995 年,最初被设计用于网页内的表单验证. 这些年来 JavaScript 成长飞速,生态圈日益壮大,成为了最受程序员欢迎的开发语言之一.并且现在的 JavaS ...

  5. docker搭建前端环境

    开发环境的搭建,是新人入职后的第一道槛,有时一个小小的问题就能阻塞半天.如果能提供一个工具在短时间内搞定开发环境,势必提高新人对团队的印象分!docker就是这样一个工具. 镜像&容器 doc ...

  6. MyBatis初级实战之一:Spring Boot集成

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  7. leetcode1637-两点之间不包括任何点的最宽垂直面积

    题目 给你 n 个二维平面上的点 points ,其中 points[i] = [xi, yi] ,请你返回两点之间内部不包含任何点的 最宽垂直面积 的宽度. 垂直面积 的定义是固定宽度,而 y 轴上 ...

  8. MySQL多版本并发控制——MVCC机制分析

    MVCC,即多版本并发控制(Multi-Version Concurrency Control)指的是,通过版本链维护一个数据的多个版本,使得读写操作没有冲突,可保证不同事务读写.写读操作并发执行,提 ...

  9. jenkins + Ansible Plugin + ansi-color 让结果显示颜色

    1 安装jenkins: 此处省略百余字......   2 安装jenkins的插件: Ansible Plugin AnsiColor Plugin    3 设置job 内容 让ansible ...

  10. linux搭建简单samba服务器

    1.安装需要的软体 yum install -y samba samba-client samba-common 2.创建samba需要的本地用户,创建samba服务使用的目录 Linux系统文件的读 ...