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中的大部分内存.但注意,存储小文件所需 ...
随机推荐
- Silverlight button 图片切换样式
之前一直做WPF现在开始接触Slilverlight感触很多. 今天做一个Button要求 有两个图片,button默认有一个图片,鼠标over时用另一个图片, 用wpf做的时候写一个template ...
- 解决The current branch is not configured for pull No value for key branch.master.merge found in confi
1.在本地工程目录找到config文件(我的是在E:\rocket\rocket\.git): 2.修改config文件内容为: [core] repositoryformatversion = fi ...
- 同步git修改文件到远端服务器脚本
#!/usr/bin/perl -w @files=`git status -s` ; @sync_files = (); foreach (@files) { ); # 固定前2个字符为状态 + 1 ...
- libtool: Version mismatch error 解决
在编译一个软件的时候,在 ./configure 和 make 之后可能会出现如下错误: libtool: Version mismatch error. This is libtool 2.4. ...
- 云计算之路-阿里云上:2014年6月12日16:14遭遇SLB故障
这是今天遇到的第3次故障,故障是首先被园友发现的,访问园子出现来自SLB的错误提示:400 Bad Request - Powered by Tengine. 查看Windows性能监视器发现,在故障 ...
- Android将应用程序的崩溃信息如何保存到本地文件,并上传服务器
导语:最近实在是太忙了,没有怎么更新公众号,也没有怎么认真去写一些内容,在这里先给关注我的朋友说一声抱歉,可能在接下来的一段时间,还是很忙,但是我会争取抽空多分享一下技术文章,给大家看,共同进步,也希 ...
- JavaScript和html5 canvas生成圆形印章
代码: function createSeal(id,company,name){ var canvas = document.getElementById(id); var context = ca ...
- 文件夹文件遍历并插入数据库的操作,IO Directory File的递归操作
在我们管理内容管理系统时,数据量大时,对机器的依赖性就比较强了,比如,我要将一个文件夹中的很多图片上传到网站,一个个上传会很花时间,就想到了通过遍历文件夹得到文件名,并将路径与文件保存到数据库中对应的 ...
- [CH#58解题报告]
题目:http://206.contesthunter.org/contest/CH%20Round%20%2358%20-%20OrzCC%E6%9D%AFnoip%E6%A8%A1%E6%8B%9 ...
- 使用Git进行代码管理
Git简介 Git 是 Linux Torvalds 为了帮助管理 Linux® 内核开发而开发的一个开放源码的版本控制软件. 先讲一下如何把开源项目fork到自己的github中 1. 点击图中的 ...