- 博客(124)
- 问答 (1)
- 收藏
- 关注
原创 线上JVM 优化调试(1)
线上JVM 优化调试(1)-基础知识 没有最好的JVM部署模型,做出最合适的选择依赖于系统的需求,系统的需求才是最重要的。 1 数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的...
2015-01-22 17:19:00
238
第七章:小朱笔记hadoop之源码分析-hdfs分析 DataNode 数据读写分析
第七章:小朱笔记hadoop之源码分析-hdfs分析 第五节:Datanode 分析 5.5 DataNode 数据读写分析 DataNode上数据块的接受、发送并没有采用RPC机制,因为RPC是一个命令式的接口,而DataNode的数据处理是一种流式机制。 DataXceiverServer和DataXceiver 就是这个机制的实现。其中,DataXceiv...
2013-06-16 22:17:19
247
第七章:小朱笔记hadoop之源码分析-hdfs分析 DataBlockScanner 文件校验
第七章:小朱笔记hadoop之源码分析-hdfs分析第五节:Datanode 分析5.4 DataBlockScanner 文件校验由于每一个磁盘或者是网络上的I/O操作可能会对正在读写的数据处理不慎而出现错误,所以HDFS提供了下面两种数据检验方式,以此来保证数据的完整性,而且这两种检验方式在DataNode节点上是同时工作的: (1)校验和 检测损坏数据的常用方...
2013-06-16 21:47:10
286
第七章:小朱笔记hadoop之源码分析-hdfs分析 Datanode 注册分析
第七章:小朱笔记hadoop之源码分析-hdfs分析第五节:Datanode 分析5.3 Datanode 注册分析DataNode节点向NameNode节点注册,一是告诉NameNode节点自己提 供服务的网络地址端口,二是获取NameNode节点对自己的管理与控制。Datanode 注册只会被两个地方调用, Datanode启动和心跳收到注册命令。DatanodeRegistr...
2013-06-16 21:43:04
178
第七章:小朱笔记hadoop之源码分析-hdfs分析 Datanode 心跳分析
第七章:小朱笔记hadoop之源码分析-hdfs分析第五节:Datanode 分析5.2 Datanode 心跳分析(1)offerService分析写道(a)检查心跳间隔是否超时,如是向namenode发送心跳报告,内容是dfs的容量、剩余的空间和DataXceiverServer的数量等,调用processCommand方法处理namenode返回的命令 (b)通知na...
2013-06-16 21:40:04
203
第七章:小朱笔记hadoop之源码分析-hdfs分析 Datanode 启动过程分析
第七章:小朱笔记hadoop之源码分析-hdfs分析第五节:Datanode 分析 5.1 Datanode 启动过程分析(1)shell脚本启动DataNodestart-dfs.sh "$bin"/hadoop-daemons.sh --config $HADOOP_CONF_DIR start datanode $dataStartOpt (2)mai...
2013-06-16 21:34:11
206
第七章:小朱笔记hadoop之源码分析-hdfs分析 第三节:hdfs实现分析
第七章:小朱笔记hadoop之源码分析-hdfs分析第三节:hdfs实现分析3.4 datanode数据结构与Storage相关的类:从宏观上刻画了每个存储目录的组织结构,管理由HDFS属性dfs.data.dir指定的目录,如current、previous、detach、tmp、storage等目录和文件,并定义了对整个存储的相关操作;与Dataset相关的类:描述了块文件及其...
2013-06-04 00:10:45
144
第七章:小朱笔记hadoop之源码分析-hdfs分析 第三节:hdfs实现分析
第七章:小朱笔记hadoop之源码分析-hdfs分析第三节:hdfs实现分析3.3 namenode(1)FSDirectoryFSDirectory用来管理HDFS整个文件系统的namespace也就是整个目录树.HDFS是会将namespace保存到namenode的本地文件系统的fsimage的文件中。从该文件中,namenode每次重启都能将整个HDFS的names...
2013-05-25 23:04:10
180
第七章:小朱笔记hadoop之源码分析-hdfs分析 第三节:hdfs实现分析
第七章:小朱笔记hadoop之源码分析-hdfs分析第三节:hdfs实现分析3.2 通讯协议Hadoop中节点之间的通信是比较复杂的一个网络,若可以把它们之间的通信网络了解清楚,那么对于Hadoop的整体框架理解会有很大帮助。 HDFS中有5种协议: DatanodeProtocol ( DataNode && NameNode)InterDatanode...
2013-05-25 23:00:56
182
原创 第七章:小朱笔记hadoop之源码分析-hdfs分析 第三节:hdfs实现分析
第七章:小朱笔记hadoop之源码分析-hdfs分析第三节:hdfs实现分析3.1 基本概念 HDFS采用了主从 (Master/Slave)结构模型,一个HDFS集群是由一个NameNode和若干个DataNode组成的。其中NameNode作为主服务器, 管理文件系统的命名空间和客户端对文件的访问操作;集群中的DataNode管理存储的数据。HDFS允许用户以文件的形式...
2013-05-23 10:26:32
149
原创 第七章:小朱笔记hadoop之源码分析-hdfs分析 第一节:基本概念
第一节:基本概念1.1 数据块(block) 默认的最基本的存储单位是64M的数据块。和普通文件系统相同的是,HDFS中的文件是被分成64M一块的数据块存储的。不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间。blk_<id>保存的是HDFS的数据块,其中保存了具体的二进制数据。blk_<id>...
2013-05-23 10:25:50
154
原创 第七章:小朱笔记hadoop之源码分析-hdfs分析 第四节:namenode分析-Trash
第七章:小朱笔记hadoop之源码分析-hdfs分析第四节:namenode分析4.8 回收站机制 当用户写程序调用HDFS的API时,NameNode并不会把删除的文件或目录放入回收站Trash中。HDFS在客户端为用户提供了对文件系统的命令行操作,这个命令行操作是通过FsShell来实现的。当用户通过命令-rm/-rmr删除文件系统中的一个文件或者是目录的时候,HDF...
2013-05-22 00:22:39
149
原创 第七章:小朱笔记hadoop之源码分析-hdfs分析 第五节:Datanode 分析
第七章:小朱笔记hadoop之源码分析-hdfs分析第五节:Datanode 分析5.1 Datanode 启动过程分析5.2 Datanode 心跳分析5.3 Datanode 注册分析5.4 DataBlockScanner 文件校验 5.5 DataNode 数据块接受/发送 5.1 Datanode 启动过程分析(1)shell脚本启动DataNode ...
2013-05-22 00:11:06
236
原创 第七章:小朱笔记hadoop之源码分析-hdfs分析 第六节:SecondaryNameNode分析
第七章:小朱笔记hadoop之源码分析-hdfs分析第六节:SecondaryNameNode分析 6.1 架构分析6.2 SecondaryNameNode启动过程分析6.3 Checkpoint分析6.4 Import Checkpoint恢复数据 6.1 架构分析 SecondaryNameNode(snn)不是Nam...
2013-05-22 00:10:35
143
原创 第七章:小朱笔记hadoop之源码分析-hdfs分析 第四节:namenode分析-namenode启动过程分析...
第七章:小朱笔记hadoop之源码分析-hdfs分析第四节:namenode分析4.1 namenode启动过程分析 org.apache.hadoop.hdfs.server.namenode.main 方法是系统的入口,它会调用 createNameNode 创建 NameNode 实例。 createNameNode 分析命令行参数,如果是 FORMAT 戒 FI...
2013-05-22 00:09:54
304
原创 第七章:小朱笔记hadoop之源码分析-hdfs分析 第四节:namenode分析-format过程分析...
第七章:小朱笔记hadoop之源码分析-hdfs分析第四节:namenode分析 4.2 namenode format过程分析 namenode format操作是使用hadoop分布式文件系统前的步骤。如果不执行这个步骤,无法正确启动分布式文件系统。 (1)启动format start-dfs.sh的脚本分析过程,传入的-format参数传入到执行...
2013-05-22 00:09:30
140
原创 第七章:小朱笔记hadoop之源码分析-hdfs分析 第四节:namenode-ReplicationMonitor
第四节:namenode分析4.3 namenode 副本监控分析ReplicationMonitorReplicationMonitor主要有两个作用: (1)负责为副本不足的数据块选择source 数据节点,选择冗余的target节点,等待DN节点下次心跳将这些工作带回给相应的DN执行块冗余操作。(2)将各个数据节点上无效的数据块副本加入无效集合,等待下次心跳将这些工作带回...
2013-05-21 10:06:21
188
原创 第七章:小朱笔记hadoop之源码分析-hdfs分析 第四节:namenode-LeaseManagerMonitor
第七章:小朱笔记hadoop之源码分析-hdfs分析第四节:namenode分析4.4 namenode文件租约分析LeaseManagerMonitor 文件租约就是将操作的文件和操作它的客户端进行绑定,若文件不存在一个租约,则说明该文件当前没有被任何客户端写,否则,就表示它正在被该文件租约中 的客户端holder写。这中间可能会发生一些意想不到的异常情况,比如正在对某...
2013-05-21 10:06:11
166
原创 第七章:小朱笔记hadoop之源码分析-hdfs分析 第四节:namenode-HeartbeatMonitor
第七章:小朱笔记hadoop之源码分析-hdfs分析第四节:namenode分析4.5 namenode心跳检测分析HeartbeatMonitor DataNode节点在注册时候就开始定期向NameNode节点发送心跳包,以此来告知 NameNode节点自己当前还是可用的,同时从NameNode节点那里得到对自己的控制命令并执行。然而,当一个 DataNode节点没有按...
2013-05-21 10:05:59
164
原创 第七章:小朱笔记hadoop之源码分析-hdfs分析 第四节:namenode-DecommissionManager
第七章:小朱笔记hadoop之源码分析-hdfs分析第四节:namenode分析4.6 namenode任务线程之DecommissionManager$Monitor DecommissionManager主要是负责节点退役或者说节点停用,Monitor负责定时来检测这些节点的退役状态。DataNode节点退役得等该节点上的所有数据块Blocks被复制完成之后,才能允...
2013-05-21 10:05:45
142
原创 第七章:小朱笔记hadoop之源码分析-hdfs分析 第四节:namenode-SafeModeMonitor
第七章:小朱笔记hadoop之源码分析-hdfs分析第四节:namenode分析4.7 namenode 安全模式SafeModeMonitor 在分布式文件系统启动的时候,开始的时候会有安全模式,当分布式文件系统处于安全模式的情况下,文件系统中的内容不允许修改也不允许删除,直到安全模式结 束。安全模式主要是为了系统启动的时候检查各个DataNode上数据块的有效性,同时...
2013-05-21 10:05:34
209
原创 第七章:小朱笔记hadoop之源码分析-hdfs分析 第二节:fs抽象文件系统实现
第七章:小朱笔记hadoop之源码分析-hdfs分析第二节:fs抽象文件系统实现 在Hadoop框架源代码org.apache.hadoop.fs包中,都是关于Hadoop文件系统实现的相关类,主要包括文件系统模型的建立,及其在该文件系统定义、实现基本的文件操作。例如给出文件系统抽象,对文件系统上存储的文件执行基本操作进行抽象。 FileSystem类: ...
2013-05-20 00:27:02
179
原创 第七章:小朱笔记hadoop之源码分析-hdfs分析 第九节:block Recovery过程分析
第七章:小朱笔记hadoop之源码分析-hdfs分析第九节:block Recovery过程分析Lease Recovery Algorithm lease recovery算法:1) Namenode retrieves lease information name node查找到lease的信息2) For each file f in the leas...
2013-05-20 00:22:23
221
原创 第六章:小朱笔记hadoop之源码分析-ipc分析 第二节:Client类分析
第六章:小朱笔记hadoop之源码分析-ipc分析第二节:Client类分析 Client端的底层通信直接采用了阻塞式IO编程: /** * A client for an IPC service. IPC calls take a single {@link Writable} as a * parameter, and return a {@link Writabl...
2013-05-20 00:13:19
251
原创 第六章:小朱笔记hadoop之源码分析-ipc分析 第三节:Server类分析
第六章:小朱笔记hadoop之源码分析-ipc分析第三节:Server类分析 启动Listener进程,如果收到需要建立连接的请求,将建立连接,然后在上面捕获读操作的命令。收到命令之后,将把解析客户端发过来信息的工作委派给Connection。Connection把信息封装到Call对象中,放入队列中,待Handler处理。启动指定数目的Handler线程,处理客户端对指定方...
2013-05-20 00:13:09
195
原创 第六章:小朱笔记hadoop之源码分析-ipc分析 第四节:RPC类分析
第六章:小朱笔记hadoop之源码分析-ipc分析第四节:RPC类分析RPC类是对Server、Client的具体化。在RPC类中规定,客户程序发出请求调用时,参数类型必须是Invocation;从服务器返回的值类型必须是ObjectWritable。 RPC类是对Server、Client的包装,简化用户的使用。如果一个类需充当服务器,只需通过RPC类的静态方法getServer获得...
2013-05-20 00:12:55
156
原创 第六章:小朱笔记hadoop之源码分析-ipc分析 第一节:RPC协议
第六章:小朱笔记hadoop之源码分析-ipc分析第一节:RPC协议 进程间通信(IPC,Inter-Process Communication),指至少两个进程或线程间传送数据或信号的一些技术或方法。进程是计算机系统分配资源的最小单位。每个进程都有自己的一部分独立的系统资源,彼此是隔离的。为了能使不同的进程互相访问资源并进行协调工作,才有了进程间通信。这些进程可以运行...
2013-05-19 14:53:56
117
原创 第四章:小朱笔记hadoop之源码分析-conf分析
第三章:小朱笔记hadoop之conf分析 一、Configurable void setConf(Configuration conf); //获取配置信息的方法: Configuration getConf(); 二、Configured实现了Configurable接口,也就是必须实现接口中的两个方法,当然并不是直接实现的,而是调用Config...
2013-05-19 14:51:26
135
原创 第二章:小朱笔记hadoop之源码分析-脚本分析
第二章:小朱笔记hadoop之源码分析-脚本分析第一节:start-all.sh第二节:hadoop-config.sh第三节:hadoop-env.sh第四节:start-dfs.sh第五节:hadoop-daemon.sh第六节:hadoop-daemons.sh第七节:slaves.sh第八节:start-mapred.sh第九节:hadoop 第一节:start-all.s...
2013-05-19 14:45:02
162
原创 第一章:小朱笔记hadoop之环境配置以及集群部署-集群环境配置
第一章:小朱笔记hadoop之环境配置以及集群部署第一节.集群环境配置(1)hadoop部署注意项(a)hadoop各节点的分布:namenode和jobtracker部署:namenode与jobtracker分离.tasktracker与datanode配对.(b)Trash: hadoop回收站功能默认是禁止的,删除文件,就是直接删除了,所以要记得配置好trash。当rm后...
2013-05-19 14:43:49
118
原创 小朱笔记之hadoop应用实战、源码分析-目录
小朱笔记之hadoop应用实战、源码分析 1.1 背景目的 该笔记从宏观架构、安装配置、源码分析、使用案例四个方面剖析了Hadoop1.0.3,希望能对同学们提供帮助,赠人玫瑰,手留余香。能够把hadoop理论、源码和实践结合起来的资料少之又少,作者历时近一年搜集各种相关资料,取其精华,并经过实践检验。鉴于个人对于云计算的理解非常的浅薄,缺少足够的实践经验,深入的问...
2013-05-19 14:38:35
144
【Linux深入浅出系列】欢迎下载学习
【Linux深入浅出系列】欢迎下载学习1、Linux 常用命令2、VMware 7.03、红帽Linux 9从入门到精通4、ubuntu
2012-03-08 09:41:35
92
结合领域驱动设计、查询命令分离的SOA分布式无共享架构
结合领域驱动设计、查询命令分离的SOA分布式无共享架构一、SOA、DDD、CQRS、DCI的定义SOA(面向服务架构)是一种分布式的软件架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行部署、组合和使用。简单来说,SOA就是一种大型 系统开发的体系架构,在基于SOA架构的系统中,具体应用程序的功能是由一些松耦合并且具有统一接口的组件(也就是service)组合构建起来的,它是 针对...
2012-03-02 14:19:20
214
空空如也
ZooKeeper zkServer.sh status 报错
2012-03-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人