HDFS读数据的过程】的更多相关文章

HDFS读数据的流程 shell发送下载请求 NameNode检测文件系统,查找a的元数据(block和block所在的位置信息) 返回元数据给shell,返回的元数据会排序,排序规则: 拓扑距离近排前面. 返回心跳健康排前面. shell按照排序,向各个节点请求下载block. 底层上本质是建立Socket Stream(FSDataInputStream),重复的调用父类DataInputStream的read方法,直到这个块上的数据读取完毕 把下载的文件合并起来. 读取完一个block都会…
HDFS写入文件的重要概念 HDFS一个文件由多个block构成.HDFS在进行block读写的时候是以packet(默认每个packet为64K)为单位进行的.每一个packet由若干个chunk(默认512Byte)组成.Chunk是进行数据校验的基本单位,对每一个chunk生成一个校验和(默认4Byte)并将校验和进行存储. 在写入一个block的时候,数据传输的基本单位是packet,每个packet由若干个chunk组成. HDFS客户端写文件示例代码 FileSystem hdfs…
HDFS(Hadoop Distributed File System )Hadoop分布式文件系统. HDFS有很多特点: ① 保存多个副本,且提供容错机制,副本丢失或宕机自动恢复.默认存3份. ② 运行在廉价的机器上. ③ 适合大数据的处理.多大?多小?HDFS默认会将文件分割成block,64M为1个block.然后将block按键值对存储在HDFS上,并将键值对的映射存到内存中.如果小文件太多,那内存的负担会很重. 如上图所示,HDFS也是按照Master和Slave的结构.分NameN…
移动到hadoop文件目录下 NameNode启动命令:sbin/hadoop-daemon.sh start namenode DataNode启动命令:sbin/hadoop-daemon.sh start datanode 过程描述: NameNode启动后,会进入30秒的等待时间,此时处于安全模式,所谓的安全模式就是只能执行相关读取操作,比如查看text,下载get等,不能执行创建,删除or追加内容操作, 此时NameNode做两件事,第一件,接受DataNode的心跳和块状态报告,心跳…
需求:将HDFS上的文件中的数据导入到hbase中 实现上面的需求也有两种办法,一种是自定义mr,一种是使用hbase提供好的import工具 一.hdfs中的数据是这样的 hbase创建好表 create 'NNTB','info'  二.自定义mr import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.HBaseConfigur…
Hadoop Distributed File System 易于拓展的分布式文件系统 运行在大量普通廉价机器上,提供容错机制 为大量用户提供性能不错的文件存取服务 NameNode Namenode是一个中心服务器,==单一节点==(简化系统的设计和实现),==负责管理文件系统的名字空间(namespace)以及客户端对文件的访问==. 文件操作,==NameNode负责文件元数据的操作,DataNode负责处理文件内容的读写请求,跟文件内容相关的数据流不经过NameNode==,只会询问他跟…
Hadoop基础-HDFS的读取与写入过程剖析 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客会简要介绍hadoop的写入过程,并不会设计到源码,我会用图和文字来描述hdfs的写入过程. 一.hdfs写数据流程 如上图所示,想要把一个4.2G的文件写入到hdfs集群中,它是怎么实现的呢?其步骤简要如下: 1>.客户端向NameNode请求在"/user/yinzhengjie/movies/"目录下上传一个名称叫“苍老师.rmvb”的视频: 2>…