Hadoop之 hdfs 系统
一、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 系统的更多相关文章
- 【Hadoop】HDFS - 创建文件流程详解
1.本文目的 通过解析客户端创建文件流程,认知hadoop的HDFS系统的一些功能和概念. 2.主要概念 2.1 NameNode(NN): HDFS系统核心组件,负责分布式文件系统的名字空间管理.I ...
- Hadoop之——又一次格式化hdfs系统的方法
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46352939 又一次格式化hdfs系统的方法: (1)查看hdfs-ste.xml ...
- 重新格式化hdfs系统的方法
重新格式化hdfs系统的方法: (1)查看hdfs-ste.xml <span style="font-size:18px;"><property> < ...
- 搭建maven开发环境测试Hadoop组件HDFS文件系统的一些命令
1.PC已经安装Eclipse Software,测试平台windows10及Centos6.8虚拟机 2.新建maven project 3.打开pom.xml,maven工程项目的pom文件加载以 ...
- Hadoop操作hdfs的命令【转载】
本文系转载,原文地址被黑了,故无法贴出原始链接. Hadoop操作HDFS命令如下所示: hadoop fs 查看Hadoop HDFS支持的所有命令 hadoop fs –ls 列出目录及文件信息 ...
- Hadoop学习-HDFS篇
HDFS设计基础与目标 硬件错误是常态.因此需要冗余 流式数据访问.即数据批量读取而非随机读写,Hadoop擅长做的是数据分析而不是事务处理(随机性的读写数据等). 大规模数据集 简单一致性模型.为了 ...
- 非常不错 Hadoop 的HDFS (Hadoop集群(第8期)_HDFS初探之旅)
1.HDFS简介 HDFS(Hadoop Distributed File System)是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开 ...
- Hadoop之HDFS及NameNode单点故障解决方案
Hadoop之HDFS 版权声明:本文为yunshuxueyuan原创文章.如需转载请标明出处: http://www.cnblogs.com/sxt-zkys/QQ技术交流群:299142667 H ...
- Hadoop记录-hdfs转载
Hadoop 存档 每个文件均按块存储,每个块的元数据存储在namenode的内存中,因此hadoop存储小文件会非常低效.因为大量的小文件会耗尽namenode中的大部分内存.但注意,存储小文件所需 ...
随机推荐
- 自己写的一个关于Linq to Entity 动态查询的例子
这两天一直想写一个动态查询的方式,先是晚上查询了一下,发现大家写的差不多都是一样的[如:http://www.cnblogs.com/ASPNET2008/archive/2012/10/28/274 ...
- 『开源』Slithice 2013 服务器集群 设计和源码
相关介绍文章: <『设计』Slithice 分布式架构设计-支持一体式开发,分布式发布> <『集群』001 Slithice 服务器集群 概述> <『集群』002 Sli ...
- (旧)子数涵数·Flash——遮罩动画
一.打开Flash,并新建一个flash文档 二.然后,用矩形工具,快捷键R,绘制一个背景图 三.新建一个图层 四.右击刚刚新建的"图层2"图层,选择"遮罩层" ...
- Coding the Matrix (0):映射、复数和域
1. 非常好的 Python 教程 <深入 Python 3.0> 以及 IBM 开发社区的博客探索 Python. 2. 子集: s 是 S 的子集 >>>S = {2 ...
- 编写高质量代码改善C#程序的157个建议[优先考虑泛型、避免在泛型中声明静态成员、为泛型参数设定约束]
前言 泛型并不是C#语言一开始就带有的特性,而是在FCL2.0之后实现的新功能.基于泛型,我们得以将类型参数化,以便更大范围地进行代码复用.同时,它减少了泛型类及泛型方法中的转型,确保了类型安全.委托 ...
- 第四十四课:jQuery UI和jQuery easy UI
jQuery UI是jQuery官方提供的功能效果和UI样式.作为官方出的东西,它一直没有被人们看重,一是它没有datagrid,tree等UI库必备的东西,二是它修改太过频繁,体积庞大.其实它所有以 ...
- Sencha Touch 手机移动开发框架 HTML5 项目压缩方案;
Sencha Touch框架生成基本项目目录结构 Index.html/ App.js App.json /touch[sdk]/ /Sencha-touch.js /src Resources/ A ...
- AngularJS开发指南13:AngularJS的过滤器详解
AngularJS过滤器是用来格式化输出数据的.除了格式化数据,过滤器还能修改DOM.这使得过滤器通常用来做些如“适时的给输出加入CSS样式”等工作. 比如,你可能有些数据在输出之前需要根据进行本地化 ...
- WPF中RadioButton的分组
当界面上出现多组Radiobutton时,将所有的Radiobutton写在同一个Grid里面,导致系统认为所有的Radiobutton是同一组,造成选择混乱,解决的方法: 1.要为属于同个组的Rad ...
- Beta版本贡献比
学号 姓名 贡献率 031302301 毕容甲 25%031302302 蔡逸轩 25%031302430 肖阳 25%031302418 黄彦 ...