一、NameNode维护着2张表:

1.文件系统的目录结构,以及元数据信息

2.文件与数据块列表的对应关系

存放在fsimage中,在运行的时候加载到内存中的。

操作日志写到edits中

 

二、DataNode

使用block形式存储。在hadoop2中,默认的大小是128MB。

使用副本形式保存数据的安全,默认的数量是3个。

 

使用shell访问hdfs

bin/hdfs dfs –xxx

 

三、RPC(remote procedure call)

远程过程调用要有一个服务端(对外暴露方法供调用者使用),要有一个客户端(主动调用方法)。

 

问题1:简述HDFS

答:1.HDFS是hadoop 的文件存储系统分布式存储,采用总分模式,在业界有一个2级映射的方式,1数据与分区的映射,2.分区与机器的映射。

2.数据存储是总分结构,有专门存储元数据的namenode ,有专门存储数据的datanode。数据在datanode中是以数据块block的形式存储的。数据与block 之间是一种映射,block 与节点datanode 之间是一种映射,这2个映射在namenode 中存储着,同事,namenode 还接受用户的请求,进行读或写操作的时候,虽然经过namenode 但最终要通过datenode读取。

3.Datanode有很多节点,这样才能扩大数据的存储。在生产环境中,一般通过副本方式保证数据的安全,工业上一般副本数量为3.

 

问题2:RPC 理解

RPC是一个远程过程调用,remote procedure call .在hadoop 中是指不同进程之间的通信,不同虚拟机之间的调用,通过代理机制实现,是一种CS的结构 ,C作为调用端发送请求调用服务端的接口。接口在服务端实现。当服务端接收到请求,然后去找相应的函数,然后将处理结果返回给客户端,而客户端一直挂起等待服务端的结果。 服务端一直等待状态。

 

RPC在hadoop 中的体现:

Hadoop 整体体系是建立在rpc基础之上的。 比如hdfs中,有客户端,服务端,

1 客户端(用户代码)与namenode 之间通过rpc通讯,客户端通讯所依赖的接口是clientprotocol ,通常调用一些方法,写,移动,列表等方法。

2.namenode与datanode 之间也是一种rpc机制,接口是datanodeprotocol ; namenode 作为客户端不同的发送心跳请求指的是datanodeprotocol中的heartbeat 方法,在这个方法中datanode把自己的状态信息(使用以及剩余信息)发送给namenode。

3. datanode 之间通讯也是rpc机制。

 

Hadoop之 hdfs 系统的更多相关文章

  1. 【Hadoop】HDFS - 创建文件流程详解

    1.本文目的 通过解析客户端创建文件流程,认知hadoop的HDFS系统的一些功能和概念. 2.主要概念 2.1 NameNode(NN): HDFS系统核心组件,负责分布式文件系统的名字空间管理.I ...

  2. Hadoop之——又一次格式化hdfs系统的方法

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46352939 又一次格式化hdfs系统的方法: (1)查看hdfs-ste.xml ...

  3. 重新格式化hdfs系统的方法

    重新格式化hdfs系统的方法: (1)查看hdfs-ste.xml <span style="font-size:18px;"><property> < ...

  4. 搭建maven开发环境测试Hadoop组件HDFS文件系统的一些命令

    1.PC已经安装Eclipse Software,测试平台windows10及Centos6.8虚拟机 2.新建maven project 3.打开pom.xml,maven工程项目的pom文件加载以 ...

  5. Hadoop操作hdfs的命令【转载】

    本文系转载,原文地址被黑了,故无法贴出原始链接. Hadoop操作HDFS命令如下所示: hadoop fs 查看Hadoop HDFS支持的所有命令 hadoop fs –ls 列出目录及文件信息 ...

  6. Hadoop学习-HDFS篇

    HDFS设计基础与目标 硬件错误是常态.因此需要冗余 流式数据访问.即数据批量读取而非随机读写,Hadoop擅长做的是数据分析而不是事务处理(随机性的读写数据等). 大规模数据集 简单一致性模型.为了 ...

  7. 非常不错 Hadoop 的HDFS (Hadoop集群(第8期)_HDFS初探之旅)

    1.HDFS简介 HDFS(Hadoop Distributed File System)是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开 ...

  8. Hadoop之HDFS及NameNode单点故障解决方案

    Hadoop之HDFS 版权声明:本文为yunshuxueyuan原创文章.如需转载请标明出处: http://www.cnblogs.com/sxt-zkys/QQ技术交流群:299142667 H ...

  9. Hadoop记录-hdfs转载

    Hadoop 存档 每个文件均按块存储,每个块的元数据存储在namenode的内存中,因此hadoop存储小文件会非常低效.因为大量的小文件会耗尽namenode中的大部分内存.但注意,存储小文件所需 ...

随机推荐

  1. 自己写的一个关于Linq to Entity 动态查询的例子

    这两天一直想写一个动态查询的方式,先是晚上查询了一下,发现大家写的差不多都是一样的[如:http://www.cnblogs.com/ASPNET2008/archive/2012/10/28/274 ...

  2. 『开源』Slithice 2013 服务器集群 设计和源码

    相关介绍文章: <『设计』Slithice 分布式架构设计-支持一体式开发,分布式发布> <『集群』001 Slithice 服务器集群 概述> <『集群』002 Sli ...

  3. (旧)子数涵数·Flash——遮罩动画

    一.打开Flash,并新建一个flash文档 二.然后,用矩形工具,快捷键R,绘制一个背景图 三.新建一个图层 四.右击刚刚新建的"图层2"图层,选择"遮罩层" ...

  4. Coding the Matrix (0):映射、复数和域

    1. 非常好的 Python 教程 <深入 Python 3.0> 以及 IBM 开发社区的博客探索 Python. 2. 子集: s 是 S 的子集 >>>S = {2 ...

  5. 编写高质量代码改善C#程序的157个建议[优先考虑泛型、避免在泛型中声明静态成员、为泛型参数设定约束]

    前言 泛型并不是C#语言一开始就带有的特性,而是在FCL2.0之后实现的新功能.基于泛型,我们得以将类型参数化,以便更大范围地进行代码复用.同时,它减少了泛型类及泛型方法中的转型,确保了类型安全.委托 ...

  6. 第四十四课:jQuery UI和jQuery easy UI

    jQuery UI是jQuery官方提供的功能效果和UI样式.作为官方出的东西,它一直没有被人们看重,一是它没有datagrid,tree等UI库必备的东西,二是它修改太过频繁,体积庞大.其实它所有以 ...

  7. Sencha Touch 手机移动开发框架 HTML5 项目压缩方案;

    Sencha Touch框架生成基本项目目录结构 Index.html/ App.js App.json /touch[sdk]/ /Sencha-touch.js /src Resources/ A ...

  8. AngularJS开发指南13:AngularJS的过滤器详解

    AngularJS过滤器是用来格式化输出数据的.除了格式化数据,过滤器还能修改DOM.这使得过滤器通常用来做些如“适时的给输出加入CSS样式”等工作. 比如,你可能有些数据在输出之前需要根据进行本地化 ...

  9. WPF中RadioButton的分组

    当界面上出现多组Radiobutton时,将所有的Radiobutton写在同一个Grid里面,导致系统认为所有的Radiobutton是同一组,造成选择混乱,解决的方法: 1.要为属于同个组的Rad ...

  10. Beta版本贡献比

    学号             姓名    贡献率 031302301  毕容甲   25%031302302  蔡逸轩   25%031302430  肖阳      25%031302418  黄彦 ...