HDFS
文章平均质量分 72
liuhong1123
对技术始终保持着强烈的好奇心目前致力于HDFS的研究与改造之前研究过openstackGlusterFS等存储系统
展开
-
AvatarNode命令集锦
1、主从切换等操作:./hadoop org.apache.hadoop.hdfs.AvatarShell[-{zero|one} -showAvatar] [-service serviceName] [-{zero|one} -setAvatar {primary|standby}] [-service serviceName] [-原创 2012-08-09 23:12:28 · 731 阅读 · 0 评论 -
HDFS2.X源码分析之:NameNode块报告处理
原文出自云台博客:http://yuntai.1kapp.com/?p=941 NameNode会接收两种情况的块报告,DataNode全部块报告与增量块报告。4.1全量报告分析 目前全量报告以周期性进行报告,既然已经有启动时候的全量数据块报告,错误块报告,增量块报告(包括删除块报告),为什么还需要周期性全量块报告呢?比如某DataNode接受到数据块但是增量报告原创 2013-01-03 11:17:13 · 2644 阅读 · 0 评论 -
HDFS2.X源码分析之:NameNode写文件原理
原文出自云台博客:http://yuntai.1kapp.com/?p=950 HDFS被设计成写一次,读多次的应用场景,这应该跟它的MapReduce机制是紧密关联的,通过对线上的读写比例监控,大概读写比是10:1,也验证了它设计的目标。 GFS论文提到的写入文件简单流程:HDFS详细流程:写入文件的过程比读取较为复杂:1、 使用HDFS提供原创 2013-01-03 22:33:37 · 2542 阅读 · 0 评论 -
HDFS2.X源码分析之:NameNode读文件原理
原文出自云台博客:http://yuntai.1kapp.com/?p=952HDFS被设计成写一次,读多次的应用场景,这应该跟它的MapReduce机制是紧密关联的,通过对线上的读写比例监控,大概读写比是10:1,也验证了它设计的目标。3.1 读流程分析GFS论文提到的文件读取简单流程:在HDFS中,具体流程如下图:从上图,可以看出读取文件需要如下几个原创 2013-01-03 22:21:04 · 1627 阅读 · 0 评论 -
HDFS:不同版本评比分析
1、版本功能对比版本名称版本时间功能名称说明0.20.x2009.4.22-2011.10.17目前线上基本功能Avatarnode,cloudera3均以该版本作为基础版本0.23.x2011/11/11-现在FederationWebH原创 2012-12-22 10:08:04 · 2461 阅读 · 0 评论 -
HDFS2.X:系统时间戳机制在块报告中的应用
在数据块报告过程中,如果遇到报告的块的时间戳大于从节点NameNode的时间戳,会将这样的数据块放入一个消息队列,等从节点消化到相关的块信息,再从消息队列中取出数据块,建立块信息与副本的映射关系。这样,报告的块是放入消息队列呢还是直接建立映射,就取决于时间戳的判断了。这个机制具体是如何实现的呢?下面通过一个示意图来说明。由上图,该机制分为如下步骤:1. 主节点NameNode原创 2013-01-13 23:37:42 · 1029 阅读 · 0 评论 -
HDFS之Qurom Journal Manager(QJM)实现机制分析
1.前言1.1背景 自从hadoop2版本开始,社区引入了NameNode高可用方案。NameNode主从节点间需要同步操作日志来达到主从节点元数据一致。最初业界均通过NFS来实现日志同步,大家之所以选择NFS,一方面因为可以很方便地实现数据共享,另外一方面因为NFS已经发展20多年,已经相对稳定成熟。虽然如此,NFS也有缺点不能满足HDFS的在线存储业务:网络单点及其存储节点单原创 2013-05-03 17:47:54 · 2611 阅读 · 1 评论 -
HDFS之Bookkeeper工作原理分析
1.前言1.1背景 自从hadoop2版本开始,社区引入了NameNode高可用方案。NameNode主从节点间需要同步操作日志来达到主从节点元数据一致。最初业界均通过NFS来实现日志同步,大家之所以选择NFS,一方面因为可以很方便地实现数据共享,另外一方面因为NFS已经发展20多年,已经相对稳定成熟。虽然如此,NFS也有缺点不能满足HDFS的在线存储业务:网络单点及其存储节点单原创 2013-05-18 22:43:43 · 6272 阅读 · 0 评论 -
hadoop2之HDFS分析:Client与DataNode流程分析
Client与DataNode流程分析1.写文件流程 1) Client执行create方法,调用NameNode的create方法,同时在Client端启动datastream线程;2) Client调用write方法,write不断地写入字节,写入字节的时候,以chunk大小作为生成校验和的单位;当写的字节数量达到一个包大小,就将这些字节封装成一个包,并加入dataqu原创 2013-07-28 09:53:16 · 2342 阅读 · 0 评论 -
HDFS块分配策略
HDFS块分配策略块分配策略流程图注:上图提到的远程机架与本地机架是相对于找到的第一个副本的目标节点来说。一个客户端a机器发起请求分配块请求,NN接收到请求后,执行如下块分配流程:1) 如果a不是一个DataNode,则在集群范围内随机选择一个节点作为目标节点,否则执行下面的2,3步骤;2) 判断a机器是否符合存储数据块的目标节点,如果符合,第一个块副本分原创 2013-10-22 16:09:30 · 3776 阅读 · 0 评论 -
hadoop之HDFS:数据块恢复与文件上传测试
1.数据块恢复当某台机器上的一个DataNode进程down掉,HDFS为了保证文件的副本满足设定的副本数,会进行数据块的恢复操作。块恢复操作主要受两个参数影响:a)dfs.namenode.replication.work.multiplier.per.iteration NameNode计算集群每个周期每个DataNode平均恢复的数据块数量;如果该参数配置得太小,则dfs.name原创 2013-10-21 17:53:28 · 3488 阅读 · 0 评论 -
hadoop2.0之HDFS集群管理:PendingReplicationMonitor
如果一个数据块需要冗余,会将其加入pendingReplications集合,如果块副本冗余完毕到某DataNode节点,该DN节点会报告给NameNode,然后NameNode从pendingReplications将块删除,如果一致没报告上来,会在一定时间范围内存储在pendingReplications内。pendingReplications为MapPendingBlockInfo>类型集原创 2013-01-03 11:04:34 · 1202 阅读 · 0 评论 -
HDFS应用场景分析
原文来自云台博客:http://yuntai.1kapp.com/?p=954 虽然说之前也对HDFS的应用场景有个大致的认识,但是总感觉不是十分彻底,因此前几天花了点时间进行了整理,现在把它贴出来。 1.概况1) HDFS不适合大量小文件的存储,因NameNode将文件系统的元数据存放在内存中,因此存储的文件数目受限于NameNode的内存大小。HDFS原创 2013-01-03 23:03:16 · 12941 阅读 · 0 评论 -
HDFS热备方案:Standby源码分析
doCheckpoint分析1、通过namenode协议rollEditLog(滚动日志,日志流量切换到edits.new,并且会记录fstime);2、调用ingest类,消化所有日志到从节点内存;3、从节点调用rollEditLog滚动日志;4、保存命名空间到磁盘上(本地+nfs)saveNamespace;5、putFSImage操作到主节点(primary本地+nfs)原创 2012-10-29 23:07:44 · 818 阅读 · 0 评论 -
HDFS NameNode HA框架设计文档(HDFS-1623:High Availability Framework for HDFS NN)
原文请参https://issues.apache.org/jira/browse/HDFS-1623译文如下:1 Problem Statement有很多方式可以使得NN更加的Available,例如:减少启动时间,配置热刷选,减少升级时间,NN的手动或自动的Failover。本文档通过Failover来解决NN的SPOF问题有很多种方式可以提供NN的转载 2012-11-09 09:52:58 · 766 阅读 · 0 评论 -
High Availability options with Hadoop distributions
With disaster recovery the talk of the town after recent storm on US east coast,let’s take a look at what options are available for High Availabilitywith various distributions of Hadoop.Le转载 2012-11-09 12:44:54 · 977 阅读 · 0 评论 -
hadoop HA----Quorum Journal 设计
本文是hadoop HA 方案Quorum Journal设计的翻译。原文参考这个链接中的附件:https://issues.apache.org/jira/browse/HDFS-30771 概述1.1 背景 HDFS-1623和相关的JIRAs加入了对HDFS NameNode高可用性的支持,但是依赖一个共享存储目录,在里面存储共享的edit log。这个共享存储必须转载 2012-11-19 23:39:42 · 1233 阅读 · 0 评论 -
跟facebook工程师交流HDFS笔记整理
首先声明,下面文章为转载文章,感谢兄弟的无私分享,我个人觉得写得很不错,而且借鉴的地方很多,就贴到自己的博客上来了,再次感谢!!原文地址:http://luoli523.com/blog/2012/11/03/gen-facebookgong-cheng-shi-jiao-liu-hdfsbi-ji-zheng-li/hadoop在纽约的大会今年是10月22日~10月25日召开的。被公转载 2012-11-19 23:50:58 · 787 阅读 · 0 评论 -
Hadoop 分布系统的高可靠选择
最近美国东海岸飓风灾难,引发了关于灾难恢复的讨论。让我们看看Hadoop所提供的各种高可靠性选项。为了理解HA的存在的问题,首先让我们看看Cloudera关于Apache Hadoop 高可靠性的话,这样对于“以前在HDFS集群里,NameNode是一个单点故障(SPOF)。每一个集群都有一个NameNode,如果这台机器或者进程不可用的话,整个集群系统都不可用。故障的恢复仰仗于NameN转载 2012-11-20 11:20:11 · 900 阅读 · 0 评论 -
HDFS2.X源码分析之:NameNode对几种块的处理方式
原文出自云台博客:http://yuntai.1kapp.com/?p=935 在NameNode接受数据块报告的过程中,会检查块的副本中是否有无效块,坏块,无效块,和块的副本数不够问题,由于这部分涉及到NameNode对块管理的核心机制,在这里独立出来进行分析。无效块:如果DN报告上来了块信息,但是该块副本信息在NN端找不到,认为该块为无效,加入无效集合invalid原创 2013-01-03 10:57:14 · 969 阅读 · 0 评论 -
hadoop2.X之HDFS集群管理:ReplicationMonitor
原文出自云台博客:http://yuntai.1kapp.com/?p=930 ReplicationMonitor在HDFS中的工作相当重要,首先不仅会负责为副本不足的数据块选择source 数据节点,选择冗余的target节点,等待DN节点下次心跳将这些工作带回给相应的DN执行块冗余操作,同时也会将各个数据节点上无效的数据块副本加入无效集合,等待下次心跳将这些工作带回给相应的原创 2013-01-03 10:45:57 · 2246 阅读 · 2 评论 -
hadoop2.0之HDFS集群管理:HeartbeatManager及其报告周期问题
心跳管理器主要用于管理DataNode的心跳,如果某DataNode在一段时间内(10分30秒)停止与NameNode发生心跳,则会将该DataNode直接标记为死亡节点,而不是先退役,因为可能该DN真的已经死亡了,而不用经历退役阶段。为了不引起一连串的DataNode被标记为死亡,每次只允许一个DataNode节点被声明为死亡,并从DatanodeManager,heartbeatManager原创 2013-01-03 11:09:47 · 1105 阅读 · 0 评论 -
HDFS2.X源码分析之:NameNode启动流程分析
目前,NameNode有多种启动:HA方式的从节点,非HA方式的主节点,BackUp(checkpoint)节点switch (startOpt) {//文件系统格式化 case FORMAT: { boolean aborted = format(conf, startOpt.getForceFormat(), startOpt.ge原创 2013-01-03 22:42:56 · 1616 阅读 · 0 评论 -
Hadoop2.x:HDFS存储小文件问题及其解决方法
HDFS设计的初衷是存储大文件,如果单个DataNode有12块2T的硬盘,则有存储空间24T,如果每个块100M,则可存储251658,如果每个块50M,则可存储503316.DataNode会向NameNode进行两种类型的块报告:增量报告与全量报告,DataNode接收到块,或者删除块会立即向NM报告,这属于增量报告;全量报告周期性发生,定时将当前DN上所有数据块信息报告给NM.NM处理原创 2013-11-14 15:04:12 · 4891 阅读 · 1 评论