hdfs的读写数据流】的更多相关文章

hdfs的读:      首先客户端通过调用fileSystem对象中的open()函数读取他需要的的数据,fileSystem是DistributedFileSystem的一个实例, DistributedFileSystem会通过rpc协议和nameNode通信,来确定请求文件块所在的位置.对于每个返回的块都包含, 该块所在的dataNode的地址,然后这些返回的dataNode,会按照hadoop定义的集群拓扑结构得出dataNode与客户端的距离,然后进行排序.如果客户端本身就是一个da…
HDFS 文件读写过程 HDFS 文件读取剖析 客户端通过调用FileSystem对象的open()来读取希望打开的文件.对于HDFS来说,这个对象是分布式文件系统的一个实例. DistributedFileSystem通过RPC来调用namenode,以确定文件的开头部分的块位置.对于每一块,namenode返回具有该块副本的datanode地址.此外,这些datanode根据他们与client的距离来排序(根据网络集群的拓扑).如果该client本身就是一个datanode,便从本地data…
看下hdfs的读写原理,主要是打开FileSystem,获得InputStream or OutputStream: 那么主要用到的FileSystem类是一个实现了文件系统的抽象类,继承来自org.apache.hadoop.conf.Configured,并且实现了Close able接口,可以适用于如本地文件系统file://,ftp,hdfs等多种文件系统,所以呢 若是自己要实现一个系统可以通过继承这个类,做出相应的配置,并且实现相应的抽象方法: public abstract clas…
HDFS的读写流程(面试重点) 目录 HDFS的读写流程(面试重点) HDFS写数据流程 网络拓扑-节点距离计算 机架感知(副本存储节点的选择) HDFS的读数据流程 HDFS写数据流程 客服端把D://ss.avi文件传送到集群 1.首先需要创建一个Distributed FileSystem(分布式文件系统)客服端.向NameNode请求上传文件.上传到/user/atguigu/ss.avi路径. 2.NameNode 检查用户是否有权限,检查目标路径/user/atguigu是否可行,检…
HDFS的读写流程--宏观与微观 HDFS:分布式文件系统,负责存放数据 分布式文件系统:就是将我们的数据放到多台电脑上存储. 写数据:就是将客户端上的数据上传到HDFS 宏观过程 客户端向HDFS发送读写数据请求 hdfs dfs -put student.txt /shujia/ 客户端发送命令将student.txt文件上传到/shujia/目录下 Filesystem通过rpc调用namenode的put方法 NN(NameNode)首先检查是否有足够的空间权限等条件来创建这个文件,或者…
1.文件的读取 在客户端执行读取操作时,客户端和HDFS交互过程以及NameNode和各DataNode之间的数据流是怎样的?下面将围绕图1进行具体讲解. 图 1 客户端从HDFS中读取数据 1)客户端通过调用FileSystem对象中的open()函数来读取它做需要的数据.FileSystem是HDFS中DistributedFileSystem的一个实例. 2)DistributedFileSystem会通过RPC协议调用NameNode来确定请求文件块所在的位置. 这里需要注意的是,Nam…
(二)HDFS数据流   作为一个文件系统,文件的读和写是最基本的需求,这一部分我们来了解客户端是如何与HDFS进行交互的,也就是客户端与HDFS,以及构成HDFS的两类节点(namenode和datanode)之间的数据流是怎样的. 1.剖析文件读取过程   客户端从HDFS读取文件,其内部的读取过程实际是比较复杂的,可以用下图来表示读取文件的基本流程.   对于客户端来说,首先是调用FileSystem对象的open()方法来打开希望读取的文件,然后DFS会返回一个文件输入流FSDataIn…
概念 文件系统 磁盘进行读写的最小单位:数据块,文件系统构建于磁盘之上,文件系统的块大小是磁盘块的整数倍. 文件系统块一般为几千字节,磁盘块一般512字节. hdfs的block.pocket.chunk block hdfs的块,常说的block,是这三个里最大的单位.默认128MB(配置参数:dfs.block.size). 128MB的原因:块太小会增加寻址时间:块太大会减少Map的任务(通常一个Map只处理一个块的数据). 注:文件的大小小于一个block并不会占据整个block的空间,…
在前文大数据系列1:一文初识Hdfs中,我们对Hdfs有了简单的认识. 在本文中,我们将会简单的介绍一下Hdfs文件的读写流程,为后续追踪读写流程的源码做准备. Hdfs 架构 首先来个Hdfs的架构图,图中中包含了Hdfs 的组成与一些操作. 对于一个客户端而言,对于Hdfs的操作不外乎也就读写两个操作,接下来就去看看整个流程是怎么走的. 下面我们由浅及深,氛围简单流程,详细流程分别介绍读写过程 简单流程 读请求流程 客户端需要读取数据的时候,流程大致如下: Client向NameNode发起…
参考自<Hadoop权威指南> [http://www.cnblogs.com/swanspouse/p/5137308.html] HDFS读文件过程: 客户端通过调用FileSystem对象的open()来读取希望打开的文件.对于HDFS来说,这个对象是分布式文件系统的一个实例. DistributedFileSystem通过RPC来调用namenode,以确定文件的开头部分的块位置.对于每一块,namenode返回具有该块副本的datanode地址.此外,这些datanode根据他们与c…