自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xhh198781的专栏

http://weibo.com/u/1988047825

  • 博客(17)
  • 资源 (4)
  • 收藏
  • 关注

原创 LDA主题模型简介

何谓“主题”呢?望文生义就知道是什么意思了,就是诸如一篇文章、一段话、一个句子所表达的中心思想。不过从统计模型的角度来说, 我们是用一个特定的词频分布来刻画主题的,并认为一篇文章、一段话、一个句子是从一个概率模型中生成的。        D. M. Blei在2003年(准确地说应该是2002年)提出的LDA(Latent Dirichlet Allocation)模型(翻译成中文就是——

2011-11-30 10:13:10 8338 1

转载 Map-Reduce过程概述

本文转载自“觉先”的博客《Hadoop学习总结之四:Map-Reduce的过程解析》一、客户端Map-Reduce的过程首先是由客户端提交一个任务开始的。提交任务主要是通过JobClient.runJob(JobConf)静态函数实现的:public static RunningJob runJob(JobConf job) throws IOE

2011-11-29 16:52:52 1902

原创 HDFS中的SecondaryNameNode节点解析

大家都知道,在HDFS的集群中有三类节点:NameNode、SecondaryNameNode和DataNode,同时在集群中只有一个NameNode节点,一个SecondaryNameNode节点,剩余的就都是DataNode节点(当然,集群中也可以同时存在多个SecondaryNameNode节点,但这没多大必要,反而会增加NameNode节点的压力,使其忙于元数据的传输与接收、日志的传输与切

2011-11-25 19:22:46 5656

原创 NameNode节点加载FSImage+EditsLog

在前面的博文中,我曾多次提到过在NameNode的启动过程中有加载FSImage+EditsLog这一必不可少的一项。关于文件fsImage和文件edits是用来存放神马的,我在这里就不用在重复了吧。在本文我将详细的叙述NameNode是如何加载fsimage和edits文件的。      在NameNode节点启动之前,我们一般会在配置文件hdfs-default.xml中分别配置文件fsI

2011-11-21 20:57:51 3605

原创 NameNode节点的升级/回滚/提交

我记得在前面已经以regular方式为例详细的讲述了有关NameNode启动的过程,在开始本文的重点之前,我觉得还是有必要在简单的描述一下这个过程:        好了,再回到本文将要阐述的重点吧——NameNode节点的升级/回滚/提交,这一步实际上只发生在上面过程的第一步:加载FSImage+EditLog。前面我提过关系:文件->数据块持久化在本地磁盘上,所有对目录树的更

2011-11-19 17:18:18 1958 1

原创 HDFS的文件操作流(5)——写操作(NameNode节点)

在前面的几篇博文中,我分别花了很大的篇幅来介绍HDFS在处理用户写一个文件时客户端、数据节点干了些什么事情,那么在本文,我将重点介绍一下NameNode节点在这个过程中到底为用户刚了些神马?       用户调用HDFS的API来写入一个文件,教科书式的标准三过程:1.create;2.write;3.close,对应于客户端的这三个工程,NameNode又相应的做了哪些响应呢?先来看一张图吧

2011-11-16 21:30:35 3334

原创 HDFS的文件操作流(4)——写操作(数据节点)

上一篇本文我详细的分析了在HDFS的文件写操作中,客户端是如何工作的,其工作核心可总结为两点:一是向NameNode申请Block,二是向数据节点传输Block的packet。那么,数据节点是如何来接受这个数据块的呢?这个还得从数据节点的注册说起。    数据节点在启动之后,会向NameNode节点进行注册来告诉它自己的一些信息,这些信息包括自己的存储信息,服务信息等。其中,服务信息包括自己的

2011-11-15 21:14:48 2301 2

原创 HDFS的文件操作流(3)——写操作(客户端)

在前面的博文中我主要从客户端的角度讲述了HDFS文件写操作的工作流程,但是关于客户端是如何把数据块传送到数据节点,同时数据节点又是如何来接受来自客户端的数据块呢?这就是本文将要讨论的。    在客户端负责数据写入处理的核心类是DFSOutputStream,它的内部主要有数据包发送器DataStream、数据包确认处理器ResponseProcessor和数据包封装器Packet,其整体设计架

2011-11-15 19:29:11 4117

原创 HDFS集群的启动(7)——NameNode任务线程之FSNamesystem$ReplicationMonitor

前面我已经讲了许多关于NameNode的后台任务线程:HeartbeatMonitor、DecommissionManager$Monitor、LeaseManager$Monitor、PendingReplicationMonitor等,今天终于可以讲一讲ReplicationMonitor ,它在FSNamesystem中可算是大家伙了。那么,NameNode$FSNamesystem到底用R

2011-11-13 15:10:27 1959

原创 HDFS集群的启动(6)——NameNode任务线程之PendingReplicationBlocks$PendingReplicationMonitor

在前面我已经详细的讲到了一些NameNode的后台工作线程,但是关于PendingReplicationBlocks$PendingReplicationMonitor和FSNamesystem$ReplicationMonitor,它们俩实在是让我很纠结,因为我真的不知道应该先讲哪一个。经过好几天的思量之后。还是决定先讲一讲PendingReplicationMonitor吧!

2011-11-12 16:22:20 2796

原创 HDFS集群的启动(5)——NameNode任务线程之FSNamesystem$HeartbeatMonitor

在前面的文章里面我已经讲过了,DataNode节点在注册时候就开始定期向NameNode节点发送心跳包,以此来告知NameNode节点自己当前还是可用的,同时从NameNode节点那里得到对自己的控制命令并执行之(这一点本文不表)。显然,当一个DataNode节点没有按时向NameNode节点发送心跳包时,NameNode就然为这个数据节点已经不可用了,清除与之相关的数据信息(比如在改数据节点上的

2011-11-09 20:29:14 2728

原创 HDFS集群的启动(4)——NameNode任务线程之LeaseManager$Monitor

在本地文件系统中,一个文件可以允许被多个进程同时同时打开并写入数据,但最后文件的内容是什么,谁也无法预测。请注意,我这里所说的这种文件能同时被多个进程写的操作是被操作系统中的文件系统所允许的,但是,我们通常在写程序对某个文件进行写操作的时候,总是额外地想法设法对操作的文件加一个独占锁,以此来保证文件的正确性和一致性。那么,HDFS中的文件是否像本地文件系统那样允许同时被多个用户写呢?答案是否定的,

2011-11-08 22:18:33 2521

原创 HDFS的文件操作流(2)——读操作

为么么知道,在HDFS中文件是分块存储的,每一个块还有多个备份,同时不同的块的备份被存在不同的机器上,而且,这些组成文件的块也放在不同的数据节点上,那么,HDFS是如何实现文件的读取呢?比如:当客户端准备读取某一个文件的一个数据块时,若这个数据块有多个副本,那么这个客户端应该读取来个副本呢?     在上一篇文章中,我讲述了有关HDFS中文件写入流的实现方式与操作过程,所以在本文,我将重点分析

2011-11-07 20:03:02 4779

原创 HDFS的文件操作流(1)——写操作(客户端概述)

大家可能对本地文件系统中的文件I/O流已经是非常的熟悉了,那么,像HDFS这种分布式的文件I/O流——基于网络I/O流的数据流,又是如何实现的呢?这就是本文的重点之一:HDFS的文件写入流。     熟悉HDFS的人可能知道,当我们调用DistributedFileSystem的create方法时,将会返回一个FSDataOutputStream对象,通过这个对象来对文件进行数据的写入。还是贴

2011-11-06 18:48:28 3731 2

原创 HDFS集群的启动(3)——NameNode任务线程之DecommissionManager$Monitor

我们知道,在NameNode节点启动的时候,会启动一些后台的任务线程,例如:关于这些个后台监控线程有神马具体的用途,我在这里不会一一作出解释,但我会在以后的博文中来具体阐述,因为他们基本上担负起了整个NameNode节点的管理工作。在本文,我将具体的讲述DecommissionManager$Monitor这个后台工作线程。    先来看看DecommissionManager$Mon

2011-11-05 19:03:40 2433 2

原创 HDFS集群的启动(2)——DataNode节点的注册

前面我已经就HDFS集群的启动问题在整体上进行了阐述,而在本文,我将主要针对DataNode节点在启动的过程中会首先向NameNode节点进行注册这一细节进行深入的讨论。    先来简单的讲一讲DataNode节点向NameNode节点进行注册的目的吧!DataNode节点向NameNode节点注册,一是告诉NameNode节点自己提供服务的网络地址端口,二是获取NameNode节点对自己的管

2011-11-03 21:56:57 4829 1

原创 HDFS集群的启动(1)——概述

众所周知,在HDFS集群中,主要有两类节点,即NameNode和DataNode节点,确切的说,一个NameNode节点,其它的所有DataNode节点。那么,HDFS集群的启动就自然而然的可以看做是一个NameNode节点的启动和所有其它的DataNode节点的启动问题了。在这里我要不得不提的是,NameNode和DataNode有各自不同的启动方式,其中,NameNode的启动方式有:form

2011-11-01 22:42:33 3860 1

Java语言编写的Windows下的小时钟

Java语言编写的Windows下的小时钟

2010-06-06

用汇编语言编写的打字游戏

用PC汇编语言编写的打字游戏,能够记时间和分数

2010-06-06

操作系统习题集下载1

操作系统习题集,比较全面的习题,包括Linux操作系统的习题部分

2009-05-19

Java获取系统内存信息

使用Java的JNI技术来获取系统内存的信息

2009-04-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除