xhh198781的专栏

http://weibo.com/u/1988047825

HDFS-2.0社区版的HA+Federation的实现解析

在Hadoop的1.x版本中,NN的单点处理能力成为HDFS的主要(容量扩展/性能/可用性)瓶颈,主要表现在:一.NN在管理大规模的命名空间时,所消耗的内存堆必定在10GB/100GB级别,无论是触发的Full Gc(32GB需要2min)还是重启时(元数据加载/操作日志回放/数据块汇报)时间消耗...

2015-03-29 17:01:23

阅读数 2218

评论数 0

内存代管理器TenuredGeneration对垃圾对象的回收

内存代管理器TenuredGeneration作为基于内存分代管理的内存堆管理器GenCollectedHeap默认的旧生代管理器,它对垃圾对象的回收算法要比年青代Gc要复杂的多,但其主体思路就是:标记-清除-压缩.本文主要围绕内存代Gc时的三个过程来详细讲解TenuredGeneration是如...

2015-01-18 15:57:18

阅读数 2677

评论数 0

内存堆Gc时公认的根对象

内存堆的Gc就是回收内存堆中垃圾对象(非active对象),那么这里就有一个问题了,如何寻找垃圾对象?换个思路来解,就是如何找到所有的active的对象,那么剩下的就是垃圾对象了.HotSpot是通过首先找到所谓的根对象,然后根据这些根对象递归或迭代的搜索所有的引用对象,而找到的这些个对象就是所谓...

2015-01-10 18:25:14

阅读数 4398

评论数 2

内存代管理器DefNewGeneration对垃圾对象的回收(Minor Gc)

内存堆管理器GenCollectedHeap在执行Gc回收垃圾对象的时候,无论是它自己还是垃圾回收策略MarkSweepPolicy都没有具体去规定一个垃圾对象应该如何被回收,而只是在整体上决策这次的Gc应该回收那些内存代中的垃圾对象,至于这些内存代管理器是如何做的,GenCollectedHea...

2014-12-14 20:39:02

阅读数 2208

评论数 0

GenCollectedHeap的Gc策略MarkSweepPolicy

当内存堆管理器响应应用线程的一次内存分配请求失败时(就是没有足够的空闲内存),就会触发一次Gc来回收部分或所有的垃圾对象好腾出足够的空间来满足应用的所需内存,如果还不够则抛出OOM. MarkSweepPolicy的大体思路就是标记active的对象, 清理未被标记(非active)的对象Mark...

2014-12-13 15:48:58

阅读数 2189

评论数 0

内存代管理器TenuredGeneration的对象内存分配

内存代管理器TenuredGeneration是基于内存分代管理的内存堆管理器GenCollectedHeap默认的旧生代管理器,对于java对象的内存分配处理还是比较简单的,但在垃圾对象回收方面.它的实现可能要远比新生代管理器要复杂的多.前文在介绍GenCollectedHeap是如何响应对象内...

2014-11-30 17:18:28

阅读数 2426

评论数 0

内存代管理器DefNewGeneration的对象内存分配

内存代管理器DefNewGeneration是所有基于内存分代管理的内存堆管理器的默认年青代管理器,同时它也只能用于年青代的内存管理而不能用于旧生代的内存管理.它的基本思路就是将整个内存代分配为三个区: Eden区, From区, To区; 一般情况下,只在Eden区和From区分配对象创建时所需...

2014-11-23 16:38:10

阅读数 2399

评论数 0

内存堆管理器GenCollectedHeap分配对象内存及Gc触发

前面在

2014-11-22 15:07:03

阅读数 2402

评论数 0

内存堆管理器GenCollectedHeap的初始化

前文在介绍Java对象内存分配的上层接口CollectedHeap时就提过, GenCollectedHeap是一种基于内存分代管理的内存堆管理器实现. 它一方面负责java对象的内存分配, 另一方面还得负责垃圾对象的回收, 而GC策略CollectorPolicy则是它的核心组件.这里,内存堆管...

2014-11-16 17:17:31

阅读数 2701

评论数 0

MarkSweepPolicy的初始化: 内存代大小的计算

基于标记-清除

2014-11-09 14:37:09

阅读数 3270

评论数 0

java对象的内存分配入口

一.GC策略检查        JVM在

2014-11-01 19:34:33

阅读数 3770

评论数 1

Paxos算法与Zookeeper分析

1 Paxos算法 1.1 基本定义 算法中的参与者主要分为三个角色,同时每个参与者又可兼领多个角色: ⑴proposer 提出提案,提案信息包括提案编号和提议的value; ⑵acceptor 收到提案后可以接受(accept)提案; ⑶learner 只能"学习"...

2013-09-02 21:31:18

阅读数 59648

评论数 11

HDFS集群的启动(8)——NameNode任务线程之FSNamesystem$SafeModeMonitor

HDFS集群启动之后并不能马上进入工作模式为用户提供服务,而是先要进入安全模式状态,因为主节点要确定当前集群中的绝大多数数据块Block处于安全可用的状态以确保为用户提供更可靠的读服务。这个工作主要是交由主节点上的FSNamesystem来完成的。FSNamesystem在初始化的时侯会首先进入安...

2012-11-29 11:33:44

阅读数 2834

评论数 1

MapFile和BloomMapFile文件

一. MapFile文件    前面说过,SequenceFile文件是用来存储key-value数据的,但它并不保证这些存储的key-value是有序的,而MapFile文件则可以看做是存储有序key-value的SequenceFile文件。MapFile文件保证key-value的有序(基...

2012-07-24 11:04:06

阅读数 3935

评论数 2

Hadoop下join操作的几点优化意见

1. 概述        在传统数据库(如:MYSQL)中,JOIN操作是非常常见且非常耗时的。而在HADOOP中进行JOIN操作,同样常见且耗时,由于Hadoop的独特设计思想,当进行JOIN操作时,有一些特殊的技巧。本文首先介绍了Hadoop上通常的JOIN实现方法,然后给出了几种针对不同输...

2012-07-12 09:34:12

阅读数 3303

评论数 1

SequenceFile文件

SequenceFile文件是Hadoop用来存储二进制形式的key-value对而设计的一种平面文件(Flat File)。目前,也有不少人在该文件的基础之上提出了一些HDFS中小文件存储的解决方案,他们的基本思路就是将小文件进行合并成一个大文件,同时对这些小文件的位置信息构建索引。不过,这类解...

2012-06-26 17:40:32

阅读数 23571

评论数 5

Facebook的公平份额调度器FairScheduler

FairScheduler是由Facebook公司提出的,为了解决Facebook要处理生产型作业(数据分析、Hive)、大型批处理作业(数据挖掘、机器学习)、小型交互作业(Hive查询)的问题。同时满足不同用户提交的作业在计算时间、存储空间、数据流量和响应时间都有不同需求的情况下,使用Hadoo...

2012-05-23 19:57:10

阅读数 7274

评论数 14

详谈计算能力调度器CapacityTaskScheduler

Hadoop中有一个默认的基于优先级的FIFO任务调度器JobQueueTaskScheduler,它的主要缺点就是对于在集群比较繁忙的情况,低优先级的作业将很难分配到集群的计算资源,这样对于那些低优先级同时又要求一定的响应时间的短作业来说是非常不利的。值得庆幸的是,Hadoop对作业的任务调度设...

2012-05-16 20:25:16

阅读数 4820

评论数 14

Hadoop对计算节点TaskTracker的惩罚机制

在前面的一篇博文中,笔者详细的介绍了JobInProgress是如何给一个TaskTracker节点分配一个Map/Reduce任务的,但在讲述的过程中忽略了一个重要的细节,因为这个细节不是该博文所要讲述的重点,这个细节就是,JobInProgress在正式为TaskTracker节点分配一个任务...

2012-05-10 21:46:23

阅读数 3963

评论数 2

详谈JobInProgress中Map/Reduce任务分配

众所周知,JobTracker节点使用配置的任务调度器TaskScheduler来为某一个具体的TaskTracker节点分配任务,同时这个任务调度器只能决定给该TaskTracker节点分配哪一个Job或者那些Job的任务以及分配多少个任务,但是它却不能决定给当前的TaskTracker节点分配...

2012-05-09 22:15:06

阅读数 4424

评论数 6

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