hdfs
文章平均质量分 65
快乐程序员
从事hadoop/hbase/hive/impala运维和研究
展开
-
distcp导致个别datanode节点数据存储严重不均衡分析
hadoop2.4生产集群已经运行一段时间了。由于大量的hadoop1.0上面的应用不断迁移过来,刚开始事hdfs这边还没有出现多少问题,随着时间的推移,最近发现个别的datanode节点上面的磁盘空间剩余严重不足,既集群数据存储严重不均衡,很多DN节点分明还有很多存储空间,而个别DN节点存储空间则出现严重不足的情况。后来经过分析,发现这些空间严重不足的节点上面,都运行了distcp作业的map任务,distcp是一个纯粹拷贝数据的job,一结合hdfs数据副本分配策略一分析,终于找到了问题所在:原来是因为原创 2014-10-11 13:14:04 · 3522 阅读 · 0 评论 -
hadoop2.0的datanode多目录数据副本存放策略
在hadoop2.0中,datanode数据副本存放磁盘选择策略有两种方式:第一种是沿用hadoop1.0的磁盘目录轮询方式,实现类:RoundRobinVolumeChoosingPolicy.java第二种是选择可用空间足够多的磁盘方式存储,实现类:AvailableSpaceVolumeChoosingPolicy.java原创 2014-10-11 12:57:25 · 8761 阅读 · 0 评论 -
Erasure code 原理
1. 什么是erasure code?erasure code可以认为是RAID的通式,任何RAID都可以转换为特定的erasure code。在传统的RAID中,仅支持少量的磁盘分布,当系统中存在多个分发点和多节点时,RAID将无法满足需求。比如RAID5只支持一个盘失效,即使是RAID6也仅支持两个盘失效,所以支持多个盘失效的算法也就是erasure code是解决这一问题的办转载 2014-11-02 18:08:48 · 1946 阅读 · 0 评论 -
HDFS追本溯源:租约,读写过程的容错处理及NN的主要数据结构
转载地址:http://blog.csdn.net/anzhsoft/article/details/247768891. Lease 的机制:hdfs支持write-once-read-many,也就是说不支持并行写,那么对读写的互斥同步就是靠Lease实现的。Lease说白了就是一个有时间约束的锁。客户端写文件时需要先申请一个Lease,对应到namenode中的Le转载 2014-11-29 22:43:35 · 1088 阅读 · 0 评论 -
HDFS Protocol修改流程
转载地址:http://dj1211.com/?p=51#more-51相对于1.x版本的Hadoop,2.x版本的Hadoop采用了Protocol Buffer作为序列化反序列化工具,以及RPC通讯工具。这样当我们对Hadoop源码进行修改之前,就需要了解Hadoop 2.x的代码结构和修改方法。 几个结构,以DatanodeProtocol举列子: Datan转载 2014-12-17 15:24:01 · 2132 阅读 · 0 评论 -
hadoop2.0的DataNode与NameNode交互机制相关代码分析
HDFS Federation是为解决HDFS单点故障而提出的NameNode水平扩展方案,该方案允许HDFS创建多个Namespace以提高集群的扩展性和隔离性。在Federation中新增了block-pool的概念,block-pool就是属于单个Namespace的一组block,每个DataNode为所有的block-pool存储block,可以理解block-pool是一个重新将blo转载 2014-12-18 22:30:46 · 1912 阅读 · 0 评论