`
flyingdutchman
  • 浏览: 353018 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Hadoop深入学习:HDFS主要流程——NameNode节点上的文件和目录操作

阅读更多
        上节中我们已经学习了HDFS的体系结构及其优缺点,本节我们将着重学习HDFS的几个主要流程。
   
        客户端在NameNode上的文件与目录操作
        创建文件目录
        客户端命令:
              hadoop fs -mkdir test
        

        示意图如下:

        当客户点通过命令行穿件文件目录时,实际上是调用HDFS的FileSystem实例,也就是DistributedFileSystem的mkdir方法时,DistributedFileSystem对象通过RPC调用NameNode节点上的远程方法mkdir(),让名字节点执行具体的创建子目录的操作:在NameNode的目录上数据结构的对应位置创建新的目录节点,同时将这个操作并持久化到编辑日志中,方法执行成功后返回true,结束这一操作过程。
        在创建目录的整个过程中,客户端不需要和DataNode节点进行交互。但是一些复杂的操作,比如复制副本和删除HDFS上的文件时,都需要数据节点的配合执行这样的操作——但是不是理解和DataNode节点交互,这要通过主从节点之间的“心跳”来交互这些操作信息,然后由DataNode数据节点来具体执行这些操作。

         接下来我们再看客户端是如何删除HDFS上的文件的,命令行删除命令:
      hadoop fs -rm example.txt

整个删除流程如下:

         1)、客户端调用HDFS的FileSystem实例,也就是DistributedFileSystem的delete()方法向NameNode发送数据的“删除”操作;
         2)、DistributedFileSystem对象通过RPC调用DateNode节点上的delete(),它值标记操作要涉及的需要被删除的数据块,并将delete操作信息持久化到编辑日Edit log;
         3)、当保存着这些数据块的DateNode节点向NameNode节点发送“心跳”,向DateNode节点报告自己当前的相关信息;
         4)、在NameNode给DataNode的心跳回答中,NameNode节点会通过DatanodeCommand命令NameNode节点删除相应的数据。
         在整个删除过程中,DateNode不会主动联系保存这些要被删除的数据块所在的DataNode节点,立即删除这些数据,而是在删除操作完成一段时间之后,才会被真的删除。
         NameNode节点和DateNode节点之间永远为此着简单的主从关系,NameNode名字节点不会向DateNode数据发送任何RPC调用请求,DateNode节点需要配合NameNode节点执行的所有操作,都是通过DateNode节点心跳应答中携带的DatanodeCommand命令返回。
       
  • 大小: 44.4 KB
  • 大小: 47.4 KB
分享到:
评论

相关推荐

    HDFS中NameNode节点的配置、备份和恢复.doc

    详细讲解了Hdfs中NameNode节点的配置,备份和恢复,以及secondNamenode的配置

    高可用性的HDFS:Hadoop分布式文件系统深度实践

    第1章 HDFS HA及解决方案 1.1 HDFS系统架构 1.2 HA定义 1.3 HDFS HA原因分析及应对措施 1.3.1 可靠性 1.3.2 可维护性 1.4 现有HDFS HA解决方案 1.4.1 Hadoop的元数据备份方案 1.4.2 Hadoop的SecondaryNameNode方案 ...

    Hadoop单机模式的配置与安装

    前言: 由于Hadoop属于java程序,所以,安装Hadoop之前需要先安装jdk。...说以对于HDFS文件系统来说,需要一个节点随时给他复制编辑到名称节点NameNOde里面去。这样的一个类似于备份的节点叫做SecondaryNameNode。

    ansible-hdfs:用于安装 Cloudera HDFS 的 Ansible 角色

    角色变量hdfs_version - HDFS 版本hdfs_cloudera_distribution - Cloudera 发行版(默认: cdh5.4 ) hdfs_conf_dir - HDFS 的配置目录(默认: /etc/hadoop/conf ) hdfs_namenode - 确定节点是否为 HDFS NameNode ...

    SQL-DFS:一种基于HDFS的海量小文件存储系统.pdf

    针对 Hadoop 分布式文件系统(Hadoop distributed file system,HDFS)进行小文件存储时 NameNode 内存占用率高的问题,通过分析 HDFS 基础架构,提出了基于元数据存储集群的 SQL-DFS 文件系统. 通过在 NameNode 中加 入...

    SQL-DFS:一种基于HDFS 的海量小文件存储系统

    针对Hadoop 分布式文件系统(Hadoop distributed file system,HDFS)进行小文件存储时NameNode 内存占用率高的问题,通过分析HDFS 基础架构,提出了基于元数据存储集群的SQL-DFS 文件系统. 通过在NameNode 中加入小文件...

    论文研究-一种面向HDFS中海量小文件的存取优化方法.pdf

    从HDFS中读取数据时,根据文件之间的相关性,对接下来用户最有可能访问的文件进行预取,减少了客户端对NameNode节点的访问次数,提高了文件命中率和处理速度。实验结果证明,该方法有效提升了Hadoop对小文件的存取...

    Hadoop大数据平台构建、HDFS配置、启动与验证教学课件.pptx

    通过 SecureCRT 软件上传 Hadoop安装文件到 /opt 目录,再由hadoop用户解压 [hadoop@master ~]$ cd /opt [hadoop@master opt]$ tar –zxvf hadoop-2.8.5.tar.gz 配置JDK环境变量,修改 hadoop解压缩后 etc 目录下的 ...

    hdfs源码.zip

    1.3 HDFS主要流程 22 1.3.1 HDFS客户端读流程 22 1.3.2 HDFS客户端写流程 24 1.3.3 HDFS客户端追加写流程 25 1.3.4 Datanode启动、心跳以及执行名字节点指令流程 26 1.3.5 HA切换流程 27 第2章 Hadoop ...

    实验项目 实战 HDFS 实验报告

    一、实验目的 1. 理解 HDFS 体系架构。 2. 理解 HDFS 文件存储...4. 在 Hadoop 集群主节点上搭建 HDFS 开发环境 Eclipse。 5. 使用 HDFS Java API 编写 HDFS 文件操作程序,实现上传本地文件到 HDFS 的功能。。。。。

    大数据与云计算技术 Hadoop概论和快速入门 共40页.ppt

    HDFS (Hadoop Distributed File System),Hadoop 分布式文件系统。 NameNode,HDFS命名服务器,负责与DataNode文件元信息保存。 DataNode,HDFS数据节点,负责存储数据存储并汇报给NameNode。 SecondaryNamenode,...

    SQL_DFS_一种基于HDFS的海量小文件存储系统_马志强.pdf

    针对Hadoop 分布式文件系统(Hadoop distributed file system,HDFS)进行小文件存储时NameNode 内存占用率高的问题,通过分析HDFS 基础架构,提出了基于元数据存储集群的SQL-DFS 文件系统. 通过在NameNode 中加入小文件...

    Apress - Pro Hadoop

     Hadoop实现了HDFS文件系统和MapRecue。用户只要继承MapReduceBase,提供分别实现Map和Reduce的两个类,并注册Job即可自动分布式运行。  目前Release版本是0.20.1。还不成熟,但是已经集群规模已经可以达到4000个...

    大数据运维技术第5章 Hadoop集群运行课件.pptx

    Hadoop运行状态;...(1)在HDFS文件系统中创建数据输入目录 确保dfs和yarn都启动成功 [hadoop@master hadoop]$ start-yarn.sh [hadoop@master hadoop]$ jps 34257 NameNode 34449 SecondaryNameNode 34494 Jp

    HDFS的优化实现ADFS.zip

    ADFS(Ali Distributed File System)是基于hadoop开源分布式系统HDFS的一种优化 实现,能够将HDFS中单点master namenode节点中的内存数据结构利用高速存储介质同步到磁盘中,同时能够提供很高的吞吐和性能 。...

    Hadoop权威指南(第2版).

    Hadoop实现了HDFS文件系统和MapRecue。用户只要继承MapReduceBase,提供分别实现Map和Reduce的两个类,并注册Job即可自动分布式运行。 目前Release版本是0.20.203.0。还不成熟,但是已经集群规模已经可以达到4000个...

    Hadoop大数据平台构建、规划大数据平台集群教学课件.pptx

    hadoop集群只有一个节点,因此hdfs的块复制将限制为单个副本。 在单个节点上运行NameNode、DataNode、JobTracker、TaskTracker、SeconderyNameNode 这5个进程。 完全分布模式 在多个节点上运行。 使用分布式文件系统...

    Hadoop权威指南 第二版(中文版)

     委任节点和解除节点  升级 第11章 Pig简介  安装与运行Pig  执行类型  运行Pig程序  Grunt  Pig Latin编辑器  示例  生成示例  与数据库比较  PigLatin  结构  语句  表达式  1.4.4 类型  模式  ...

    Hadoop权威指南(中文版)2015上传.rar

    委任节点和解除节点 升级 第11章 Pig简介 安装与运行Pig 执行类型 运行Pig程序 Grunt Pig Latin编辑器 示例 生成示例 与数据库比较 PigLatin 结构 语句 表达式 1.4.4 类型 模式 函数 用户自定义函数 过滤UDF 计算UDF...

    hadoop-管理

    走到hadoop的bin目录 ./hadoop-daemon.sh start datanode ./hadoop-daemon.sh start tasktracker 2.处理hadoop的namenode宕机 ./hadoop-daemon.sh start namenode ./hadoop-daemon.sh start tasktracker 3.如果...

Global site tag (gtag.js) - Google Analytics