摘要: 转载:http://blog.csdn.net/AE86_FC/archive/2010/08/26/5842020.aspxNameNode启动过程详细剖析NameNode中几个关键的数据结构FSImageNamenode会将HDFS的文件和目录元数据存储在一个叫fsimage的二进制文件中,每次保存fsimage之后到下次保存之间的所有hdfs操作,将会记录在editlog文件中,当editlog达到一定的大小(bytes,由fs.checkpoint.size参数定义)或从上次保存过后一定时间段过后(sec,由fs.checkpoint.period参数定义),namenode会重新将内 阅读全文
posted @ 2011-04-26 16:43 Angels-Wing 阅读(1969) 评论(1) 推荐(0) 编辑
摘要: 用C/C++开发其中最令人头疼的一个问题就是内存管理,有时候为了查找一个内存泄漏或者一个内存访问越界,需要要花上好几天时间,如果有一款工具能够帮助我们做这件事情就好了,valgrind正好就是这样的一款工具。Valgrind是一款基于模拟linux下的程序调试器和剖析器的软件套件,可以运行于x86, amd64和ppc32架构上。valgrind包含一个核心,它提供一个虚拟的CPU运行程序,还有一系列的工具,它们完成调试,剖析和一些类似的任务。valgrind是高度模块化的,所以开发人员或者用户可以给它添加新的工具而不会损坏己有的结构。valgrind的官方网址是:http://valgrin 阅读全文
posted @ 2011-04-26 15:09 Angels-Wing 阅读(1582) 评论(0) 推荐(0) 编辑
摘要: 曾经做过一个测试,用hdfs和 kfs分别作hadoop的底层,发现还是hdfs快,可能hdfs更符合hadoop的生态系统,但是一个很明显的现象就是用hdfs的时候,系统的内存缓存量很大几乎等于全部内存,iowait 也很高,kfs则没那么严重,这也是kfs慢的原因吧,因此如果在一个繁忙的集群上测试,哪个效果好,还是难以下定论,c++比java省内存和cpu,好多人都这么说,具体原因,我还不清楚,需要进一步学习。下面引用了另一位高人的随笔: Hypertable C++ vs Hbase Java Hypertable和Hbase二者同源,设计也有诸多相似之处,最主要的区别当然还是编程语言的 阅读全文
posted @ 2011-04-26 14:49 Angels-Wing 阅读(1308) 评论(1) 推荐(0) 编辑
摘要: 背景hadoop的HDFS系统结构里,namenode一直是一个单点,不管是单点出错还是单点性能方便,都是单点。这一直是HDFS想要达到7 * 24小时服务的最大的阻碍。在hadoop apache社区和仅有的那几家有能力把hadoop用到这种程度的人群里,对这一点的讨论也已经有很多了,有提出分布式namespace的,有提出 namenode单点热备的,有提出分布式mds(参考ceph和lustre)的,大家都为解决namenode的单点想了很多的办法。最近跟 facebook的Dhruba Borthakur(这位仁兄的名字实在是不会念,只好大家都叫他DB同学)讨论中发现,他们的hdfs也 阅读全文
posted @ 2011-04-26 10:21 Angels-Wing 阅读(713) 评论(0) 推荐(0) 编辑