深入Hadoop之HDFS
来源:互联网 发布:淘宝网中老年冬季服装 编辑:程序博客网 时间:2024/05/20 01:46
HDFS来源
HDFS源自于Google的GFS论文,发表于2003年10月。HDFS是GFS的克隆版。
HDFS有以下特点
易于扩展的分布式文件系统
运行在大量的普通廉价的机器上,提供容错机制
文件分块存储,将一个完整的大文件平均分块存储到不同计算器上
为大量的用户提供性能不错的文件存取服务
流式数据访问
HDFS架构
NameNode
一个HDFS集群是由一个Namenode和一定数目的Datanodes组成。Namenode是一个中心服务器,负责管理文件系统的名字空间(namespace)以及客户端对文件的访问。
NameNode是所有HDFS元数据的仲裁者和管理者。用户数据永远不会流过NameNode,只会询问NameNode用户数据和哪个DataNode联系。
文件副本存放在哪个DataNode上有NameNode控制,NameNode会根据全局情况来做出块放置 决定,读取文件时NameNode尽量让用户先读取最近副本,减低块的消耗和读取延时。
NameNode全权管理数据块的复制,它周期性地从集群的每个DataNode收集心跳信号和块状态报告。块状态报告包含了一个该DataNode上所有数据块的列表。
DataNode
集群中的Datanode一般是一个节点一个,负责管理它所在节点上的存储,包括两个文件,一个是数据本身,一个元数据包括数据的长度、块数据的校验和、及时间戳。
DataNode启动后向NameNode注册,通过后,周期性地向NameNode上报所有的块信息。
心跳没3秒一次,心跳返回结果带有NameNode给该DataNode的命令。如果10分钟没有收到某个DataNode的心跳,则认为该节点不可用。
集群运行中可以安全加入退出一些机器。
NameNode和DataNode启动过程
启动NameNode。
读取fsimage元数据镜像文件,加载到内存中。读取editlog日志文件,加载到内存中,使当前内存中元数据信息与上次关闭系统时保持一致。然后在磁盘上生成一份同内存中元数据镜像相同的fsimage文件,同时生成一个新的null的editlog文件用于记录以后的hdfs文件系统的更改。
启动DataNode。
DataNode向NameNode注册。
向NameNode发送blockreport。
启动成功后,client可以对HDFS进行目录创建、文件上传、下载、查看、重命名等操作,更改namespace的操作将被记录在editlog文件中。
- 深入Hadoop之HDFS
- 深入HDFS:Hadoop之分布式文件系统
- 深入Hadoop HDFS
- 深入Hadoop HDFS(二)
- Hadoop深入研究(HDFS)---HDFS介绍
- hadoop 之HDFS
- Hadoop之HDFS(1)
- Hadoop学习之HDFS
- hadoop之HDFS介绍
- Hadoop集群之HDFS
- Hadoop之HDFS
- Hadoop 之HDFS笔记
- Hadoop之HDFS基本概念
- HADOOP之HDFS
- HADOOP之HDFS
- Hadoop之谈谈HDFS
- Hadoop之HDFS命令
- (一) Hadoop之HDFS
- 谈谈对Spring IOC的理解
- caffe finetuning
- JdbcTemplate简介
- Java并发之ThreadLocal和InheritableThreadLoacal
- 关于RecyclerView的Adapter封装
- 深入Hadoop之HDFS
- Java-Excel报表开发POI(含POI保护工作表功能)
- PowerShellGet系列(一):PowerShell的最佳管理能手
- Python *args *kwargs
- 第三章 JavaScript 变量、数据类型、对象
- 【Spring】
- 66. Plus One
- 移动端两端对齐支持iPhone6
- Java备忘录模式