`
文章列表
小朱笔记之hadoop应用实战、源码分析   1.1 背景目的        该笔记从宏观架构、安装配置、源码分析、使用案例四个方面剖析了Hadoop1.0.3,希望能对同学们提供帮助,赠人玫瑰,手留余香。能够把hadoop理论、源码和实践结合起来的资料少之又少,作者历时近一年搜集各种相关资料,取其精华,并经过实践检验。鉴于个人对于云计算的理解非常的浅薄,缺少足够的实践经验,深入的问题就不班门弄斧了,仅做梳理和解析。特别感谢李大嘴、奔跑的羚羊、觉先、阿笨猫、逸情公子、heyutao007、caibin、彭帅、千与、zhangyu8374、庄周梦蝶等同学,从你们探索的资料中,我学习了 ...
结合领域驱动设计、查询命令分离的SOA分布式无共享架构 一、SOA、DDD、CQRS、DCI的定义 SOA(面向服务架构)是一种分布式的软件架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行部署、组合和使用。简单来说,SO ...
Spring事务详解【强烈推荐、深入讲解spring事物】 入木三分的讲解会使你拨云见日、豁然开朗.....
做一个有责任心的程序员,写的不但是代码,还是责任,它事关企业的前途和命运! 拒绝混乱,持续重构,从我做起,从一点一滴做起.....
深入浅出设计模式 大量简单易懂的示例 教你理解设计模式
       信息化高速发展的现在,各个行业都在快速发展自己的企业应用软件。但项目周期长、软件成本高、需求变化大等问题一直伴随着信息化的发展,MODP(面向模块的开发平台)的诞生提供一个有效的解决方案。      (M ...
                       花时间保持代码整洁不但有关效率,还有关生死存亡。 20 世纪80 年代末,有家公司写了个很流行的杀手应用,许多专业人士都买来用。然后,发布周期开始拉长。缺陷总是不能修复。装载时间越来越久,崩溃的几率也越来越大。至今我还记得自己在某天沮丧地关掉那个程序,从此再不用它。在那之后不久,该公司就关门大吉了。 20 年后,我见到那家公司的一位早期雇员,问他当年发生了什么事。他的回答叫我愈发恐惧起来。原来,当时他们赶着推出产品,代码写得乱七八糟。特性越加越多,代码也越来越烂,最后再也没法管理这些代码了。是糟糕的代码毁了这家公司 。   只要你干 ...
Hibernate缓存深入详解 ,有兴趣可以看看 孙卫琴的hibernate一书,缓存知识讲的很详细
线上JVM 优化调试(1)-基础知识      没有最好的JVM部署模型,做出最合适的选择依赖于系统的需求,系统的需求才是最重要的。   1 数据类型   Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。   基本类型包括:byte、short、int、long、char、float、double、Boolean、returnAddress   引用类型包括:类类型、接口类型、数组   ...
第七章:小朱笔记hadoop之源码分析-hdfs分析   第五节:Datanode 分析   5.5 DataNode 数据读写分析     DataNode上数据块的接受、发送并没有采用RPC机制,因为RPC是一个命令式的接口,而DataNode的数据处理是一种流式机制。    DataXceiverServer和DataXceiver 就是这个机制的实现。其中,DataXceiver依赖于两个辅助:BlockSender和 BlockReceiver。    DataXceviverServer:    用于监听来自客户或其他DataNodes的请求。监听块传输连接请求,同时控 ...
第七章:小朱笔记hadoop之源码分析-hdfs分析 第五节:Datanode 分析 5.4  DataBlockScanner 文件校验 由于每一个磁盘或者是网络上的I/O操作可能会对正在读写的数据处理不慎而出现错误,所以HDFS提供了下面两种数据检验方式,以此来 ...
第七章:小朱笔记hadoop之源码分析-hdfs分析 第五节:Datanode 分析 5.3  Datanode 注册分析 DataNode节点向NameNode节点注册,一是告诉NameNode节点自己提 供服务的网络地址端口,二是获取NameNode节点对自己的管理与控制。Datanode 注册只会被两个地方调用, Datanode启动和心跳收到注册命令。DatanodeRegistration这个类主要用于,当Datanode向Namenode发送注册信息 时,它要向Namenode提供一些自己的注册信息。同时这个类中还可以设置它的父类就是DatanodeID的Name、infoP ...
第七章:小朱笔记hadoop之源码分析-hdfs分析 第五节:Datanode 分析 5.2 Datanode 心跳分析 (1)offerService分析 写道 (a)检查心跳间隔是否超时,如是向namenode发送心跳报告,内容是dfs的容量、剩余的空间和DataXceiverServer的数量等,调用processCommand方法处理namenode返回的命令 (b)通知namenode已经接收的块 (c)检查块报告间隔是否超时,如是向namenode发送块报告,调用processCommand方法处理namenode返回的命令 (d)如果没到下个发送心跳的时候,休眠   ...
第七章:小朱笔记hadoop之源码分析-hdfs分析 第五节:Datanode 分析   5.1 Datanode 启动过程分析 (1)shell脚本启动DataNode start-dfs.sh "$bin"/hadoop-daemons.sh --config $HADOOP_CONF_DIR start datanode $dataStartOpt   (2)main()函数启动分析         主线程阻塞,让DataNode的任务循环执行,调用createDataNode方法创建datanode,等datanode线程结束 。 ...
第七章:小朱笔记hadoop之源码分析-hdfs分析 第三节:hdfs实现分析 3.4 datanode数据结构 与Storage相关的类:从宏观上刻画了每个存储目录的组织结构,管理由HDFS属性dfs.data.dir指定的目录,如current、previous、detach、tmp、storage等目录和文件,并定义了对整个存储的相关操作;与Dataset相关的类:描述了块文件及其元数据文件的组织方式.与块相关的操作由FSDataset相关的类处理,存储结构由大到小是卷(FSVolume)、目录(FSDir)和文件(Block和元数据等)   (1) FSDatasetIn ...
Global site tag (gtag.js) - Google Analytics