唯有前进值得敬仰

---等得越久,相聚时越幸福
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  hadoop

摘要:接着讲另外几个数据结构。1.CorruptReplicationMap成员变量:Map<Block, Collection<DatanodeDescriptor>>corruptReplicasMap用来记录datanode上出错的block,getNodes方法返回一个block在哪些datanode上的副本是corrupt的。在FSNamesystem中使用corruptReplicas保存这个map结构。坏掉的block将放入recentInvalidateSets(Map<String, Collection<Block>>)中,Clie 阅读全文

posted @ 2011-09-07 10:58 绿豆芽33 阅读(2380) 评论(0) 推荐(0) 编辑

摘要:关于hdfs源码的阅读,我这个小菜鸟觉得有这么两种方式去读,一是抓住它关键的数据结构,知道了他们是干什么用的,剩下的就是一些围着他们转的操作了;二是跟踪执行过程的流程式阅读,以mkdir为例,从client应用发出mkdir请求到传递给namenode,再在datanode上执行,这么一个过程详细地跟踪下来,就理解了一大片。两种路子没有孰优孰劣,配合使用或许更有效。本篇先从数据结构的角度分享一点自己读namenode部分源码的收获。 这是一张任何介绍hdfs的文章都会出现的架构图。采用的是master/slave模型,一个hdfs cluster包含一个NameNode和若干的DataN... 阅读全文

posted @ 2011-09-01 21:50 绿豆芽33 阅读(6729) 评论(2) 推荐(1) 编辑

摘要:1.GFS集群包括一个Master节点,多个chunkserver及多个client。这里的一个Master节点应该是个概念上的东西,具体实施分布时会有两个或更多个Master机器(但职责不同于Master,原则上我们依然认为只有一个master),如“shadow master”。chunkserver就是普通的linux机器运行着chunkserver进程,文件存储采用linux文件系统如ext3,ext4。client看作是GFS的接口,负责应用程序与GFS的沟通。文件划分成固定大小的chunk,每个chunk由一个64bit的chunk handle唯一标识,由master创建时分.. 阅读全文

posted @ 2011-08-31 23:24 绿豆芽33 阅读(2047) 评论(0) 推荐(0) 编辑

摘要:读完Bigtable论文小结一下。对于Bigtable的整体理解BigTable将数据存储分为两部分:最近的更新存储在内存(memtable)中,较老的更新则以SSTable的格式存储在GFS,后者是主体部分,不可变的数据结构。写操作的内容插入到memtable中,当memtable的大小达到一个阈值时就冻结,然后创建一个新的memtable,旧的就转换成一个SSTable写入GFS。读操作时还要综合考虑memtable和SSTable,如果写操作时产生的SSTable越来越多,就会影响读性能。于是采用mergingcompaction——读取一些SSTable和memtable的内容,合并成 阅读全文

posted @ 2011-08-31 23:16 绿豆芽33 阅读(4530) 评论(0) 推荐(1) 编辑

摘要:读完mapreduce论文小结一下。1.MapReduce是一个编程模型,封装了并行计算、容错、数据分布、负载均衡等细节问题。输入是一个key-value对的集合,中间输出也是key-value对的集合,用户使用两个函数:Map和Reduce。Map函数接受一个输入的key-value对,然后产生一个中间key-value 对的集合。MapReduce库把所有具有相同中间key值I的中间value值集合在一起后传递给reduce函数。Reduce函数接受一个中间key的值I和相关的value值的集合,合并这些value值,形成一个较小的value值的集合。对输入的key-value的理解:这里 阅读全文

posted @ 2011-08-31 23:13 绿豆芽33 阅读(3430) 评论(2) 推荐(5) 编辑