自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lance家园

有事不慌,无事不荒,有容乃大,无欲则刚,以德立纲,外圆内方。

  • 博客(101)
  • 收藏
  • 关注

原创 流式计算框架

流式计算框架S4S4会将数据里的每一条记录包装成event事件,每个事件是一个KV对,同时有eventType来标示这个事件的类型。PE是S4中的基本运算单元。每个PE只负责处理自己所关心的eventtype,并且只处理自己所对应的key值的event。PE处理后可能

2011-09-02 10:25:03 4873

原创 最近在做的一些事情

Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE

2011-06-19 01:12:00 2229

原创 Hbase中结果合并的分析

当client向hregion端put()数据时,HRegion会判断当前的memstore的大小是否大于参数hbase.hregion.memstore.flush.size值,如果大于,则执行flushcache()操作,将hregion上的memstore刷新到store files文件里。而在flushcache时,会先判断当前的region是否满足以下条件Store files number > 参数hbase.hstore.blockingStoreFiles值如果满足,则会将该regi

2011-05-24 23:57:00 4375

原创 hadoop中rpc的具体实现:

还是一年前看过rpc模块,今天回头去复习了一下,发现有一些小小的改动,增加了一些接口,比如RPCEngine。还增加了对socket一些参数的配置,比如时间设置等。但总体思路基本没有变,关键就是下面几个点。1.        java中有代理类这样的机制,即只需要知道类名和方法名,即可以通过这个代理类去调用真正的类方法,而不需要直接去new一个对象,再调用该对象的方法来完成。特别是在RPC中,当客户端要调用某个远程对象的方法时,即可调用代理类,然后让代理类与远程进程进行通信,得到函数的返回值,再返回给客

2011-04-24 20:45:00 2308

原创 数据复制的几种方案

     清明节,居然下雨,正好有时间看电影,在youku上把将爱看完了。 先留个位置,抛出几个点来,以便以后补充。最近一阵子时间,看了hbase,tair,redis项目的代码,加上之前的一些积累,在数据复制上这几个项目有些不同,其中hbase与hadoop是一样的,redis与tair较相似。主要有以下几种方案:1.        一种是典型的数据仓库架构,一次写多次读。时间拉的比较长,一般的分布式系统都会选择三个副本,因此在这种设计时,会一次性写三个副本,只要其中有个副本失败了,就需要重

2011-04-03 11:36:00 2219

原创 总结最近一阵子忙的事情

<br />      回家过了个春节,春节期间去了趟广东,跟昔日的同学碰了个头,同时也跟TX公司的同学交流了一下,他们那边在分布式存储与计算的内容,同时了解了他们的集群规模及处理方式等等。<br />      前段时间,除了完成公司的项目需求外,大致过了一下redis,chukwa的源代码,基本上了解了这二种分布式产品的框架及相关原理,其实思想本身不难,难的就是真正实现及完善出能够在实际应用中发挥出作用的产品,这一点,国外的专家,做的很好,值得我们学习。<br />      hadoop方面,前不久,

2011-03-12 11:33:00 2292 4

原创 集群工具chukwa和ganglia

<br /><br />众所周知,hadoop是运行在分布式的集群环境下,同是是许多用户或者组共享的集群,因此任意时刻都会有很多用户来访问NN或者JT,对分布式文件系统或者mapreduce进行操作,使用集群下的机器来完成他们的存储和计算工作。当使用hadoop的用户越来越多时,就会使得集群运维人员很难客观去分析集群当前状况和趋势。比如NN的内存会不会在某天不知晓的情况下发生内存溢出,因此就需要用数据来得出hadoop当前的运行状况。<br />Chukwa就是利用了集群中的几个进程输出的日志,如NN,DN

2011-01-23 00:32:00 3669 1

原创 DataNode的分析

<br /><br />相对NN,DN主要就是对数据块的副本进行操作,如增删改等操作,管理DN中的这些副本,另外提供对副本的接口给client,NN,其他的DN。<br />startDataNode()方法:<br />首先从配置文件中读取与DN相关的配置参数。<br />与NN进行握手。<br />根据参数配置好的数据块存放的文件目录,为每个目录建立起DataStorage,然后调用该类的recoverTransitionRead方法去读取存储元信息,锁住目录,然后转变文件状态。做一些格式化,恢

2011-01-15 22:39:00 3174

原创 datanode中的类结构图

之前大致把DN中的主要类代码看了一下,框架基本了解,刚才用VS简单的把类图模块画了一下,整理自已的思路。涉及比较多的是副本的传输和副本的管理二大块内容。

2011-01-14 20:28:00 2010

原创 datanode进程的分析(一)

数据存储结点主类。首先启动一系列服务端口,如接收数据的端口,web server访问端口等。然后调用startDataNode()函数去做以下事情。启动DN的数据接收服务守护线程DataXceiverServer。循环判断是否需要更新,如参数发生变化了,则需要重新初始化DN。然后再发送心跳,发送最近接收的block,报告DN当前的block列表给NN。报告DN当前的所有block列表的时间间隔相对要长很多,默认是1个小时报告一次。 run()dataXceiverServer.start();whi

2011-01-08 13:20:00 2622

原创 hdfs中的NameNode,SecondaryNameNode,BackupNode

NameNode:暂且叫它为元数据结点。它实现了NamenodeProtocols中的接口,而该接口分别有三个父类:ClientProtocol,与客户端的通信。DatanodeProtocol,与DN的通信。NamenodeProtocol,与BN,SNN的通信。主要有二大功能:1.   文件元信息的管理,由FSNamesystem类完成,主要提供了文件的相关操作,将文件信息保存到内存中,同时将操作日志保存到日志文件中。2.   数据块的管理,由BlockManager类完成,

2011-01-03 21:25:00 3974

原创 2010年总结

      2010年是我从学校到公司的第一个年头,7月份离开学校踏入工作,开始有很多的不适应,其间心理的苦唯有自已知道,但是不管如何,也算熬过了2010年,收获谈不上,算是体验生活吧。架构设计       前不久的一个小项目,让我感受到了架构设计的重要性,tim里面有句话:架构师要有完美心态,今年有很多感悟,如果没有这种心态,始终需要有人为设计缺陷买单。我就为缺陷买了一次单,教训够深的,错误连连不断的来,太可怕了。编程语言       来到公司,发现java牛人多,从他们身上学到了很多,同时看到自已很

2011-01-01 11:36:00 2349 3

原创 初次与erlang见面

学习分布式相关知识也有一年多了,最早是从hadoop开源项目开始,在几个月前打算学习erlang,但是由于时间关系,一直没有进行,也买了那本经典erlang的E文书,昨天把书过了一遍,在网上找了些文档,安装了一下开发环境,以及运行了一些简单实例,有一种想见恨晚的感觉,接下来的学习列表会多加一个东西,那就是erlang,由于它最早是来自于电信行业,不得不提在目前的电信行业,并发量和高性能还是很重要的,所以erlang在这些方面肯定不差。贴一个快速排序的代码:sort([]) ->[];sort([

2010-12-26 15:37:00 2197

原创 Capacity Scheduler and Dynamic Scheduler

CapacityTaskScheduler链接:http://hadoop.apache.org/common/docs/r0.19.2/capacity_scheduler.htmlhttp://hadoop.apache.org/common/docs/r0.20.2/capacity_scheduler.htmlhttps://issues.apache.org/jira/browse/HADOOP-3445特性:支持多个队列,每个job只会被提交到一个队列上。每个队列被分配了集群容量的一部分容量

2010-12-21 22:36:00 2272

原创 hadoop中的streaming和pipes

Streaming应用程序在提交streaming job的命令样例,需要指定JAR包以及相应的参数值。$HADOOP_HOME/bin/hadoop  jar $HADOOP_HOME/hadoop-streaming.jar /    -input myInputDirs /    -output myOutputDir /    -mapper myPythonScript.py /    -reducer /bin/wc /    -file myPythonScri

2010-12-11 18:10:00 3837 4

原创 FairScheduler(公平调度器)的源码阅读

FairScheduler是hadoop中的作业公平调度器,主要是解决当TT发送心跳告诉JT当前的空闲slots时,希望JT分配给TT相应多个task,让TT去执行这些task。所以JT就需要一个调度器来对作业进行调度,选择出作业,然后将作业的task分配TT去执行。而hadoop中的task可以分为map,reduce,jobsetup,jobcleanup,taskcleanup这五种task。关于setup,cleanup task的信息在https://issues.apache.org/jira/

2010-12-05 14:52:00 4556

原创 mapreduce中jobtracker进程的分析

对于JobTracker来说,主要做的事情有:与客户端的通信:接收客户端的命令,如提交job,kill job。接收TaskTracker心跳:为TT分配Task任务队列,更新task状态,以及监测TT的状态。内部处理操作:对job进行初始化,分解成多个map,reducetask任务。对许多job进行排列,按照某种调度算法排列。更新task的状态。更新job的状态。 submitJob当client端调用submitJob方法提交job后,通过远程调用Jobtracker进程的submitJob方法。

2010-11-28 15:17:00 6324

原创 hiveql的执行过程

     周末花了点时间,结合以前看的,大体看了一下Hive源码,主要包括客户/服务器通信,语法解析器,语义分析器,逻辑计划生成器,计划优化器,物理计划生成器,物理计划执行器等部分。分别由包parse,plan, optimizer, Exec中的代码来实现的。       Hive是将SQL语句转换成hadoop的MapReduce程序,通常在客户端执行hive命令,然后输入SQL语句后,hive将SQL语句生成多个MR的job,然后将这些job提交给hadoop进行执行,完成后,再把结果放入到hdf

2010-10-17 22:23:00 3399

原创 Hdfs-Raid tools文档翻译

<br /><br />      国庆放假7天,花了二天时间搬家,花了二天时间去绍兴,接下来这三天用来学习,这几周比较忙,加班比较多,手头上有几个task,因此没有及时更新blog,但是不管再忙,都一定要花时间来学习,上周javaone大会结束了,看了毕玄等同学的分享,java的性能方面很多公司还在研究当中,特别GC管理这块,hadoop书出了第二版,网上已经有下载了,这个月hadoop world也要举办,基本上是跟hadoop相关的session,taobao的TFS开源,比较靠谱的东西,同时也适合于

2010-10-05 21:30:00 2702

原创 Hadoop 0.21.0的新功能

Hadoop 0.21.0的新功能Hadoop发布了最新版本,这版与之前的版本,在功能上有较大的改进,增加了一些新的功能。主要如下:http://www.cloudera.com/blog/2010/08/what%E2%80%99s-new-in-apache-hadoop-0-21/Common:classification annotationsLarge-Scale Automated Test Frameworkfault injection frameworkMockito-based test

2010-08-29 22:08:00 1086

原创 client读写hdfs的源码分析总结

    周末花了一天的时间仔细了重温了一下client对HDFS文件的读写过程,总结如下:   每次读写都是以一个数据块的形式来进行的,并且包括数据内容和数据的校验值。另外,到namenode上获取相应的信息都是用RPC来通信的,而到datanode获取真正的数据块内容是由Socket的网络流来进行的,这是因为二者的通信数据量还是有些差别的,另外一点是考虑了网络拥塞问题。    同时客户端为了提高效率,一般都是从datanode上读写一个块大小的数据内容,然后缓存到本地内存的。另外到namenode上读取数

2010-08-09 20:39:00 1127

原创 mapreduce的总结

<br />mapreduce的一些问题<br />图算法的mapreduce实现。<br />mapreduce程序的测试与验证性。<br />关系代数中的join的mapreduce实现。<br />hive的方便性和效率优化问题。<br />海量数据存储和计算的优化问题。<br />ps:开始了人生中第一份工作,公司文化很不错,我要好好向牛人们学习,同时为公司做出自已的价值,实践理论二不误。

2010-07-15 19:38:00 837

原创 求子集问题

从订阅博客中看到这道题,于是花了上午的时间写了一下,此题类似于0-1背包问题,故复习了一下,分别有递归和非递归的解法。题目:给定一个数t,以及n个整数,在这n个整数中找到相加之和为t的所有组合,例如t = 4,n = 6,这6个数为[4, 3, 2, 2, 1, 1],这样输出就有4个不同的组合,它们的相加之和为4:4, 3+1, 2+2, and 2+1+1。请设计一个高效算法实现这个需求。

2010-05-15 00:04:00 1424

原创 市政排水系统的拥塞问题

           前天的深夜,广州突然来了一场暴雨,结果好多地方都成了水灾,我亲眼目睹了我们学校被淹的样子,可以说损失还是挺重的,几栋教学楼,宿舍都涨满了水,严重影响了教学,同时很多电脑,服务器都进水了,地下停车场也都全是水。也就是说整个排水都赌住了,让我想起了我们有些网站,在某些时刻由于访问量过大,也会造成无法访问的情况。都是有相类似的情况。    导致这样的原因,就是因为在设计系统

2010-05-09 19:31:00 1682

原创 FP-tree的hadoop实现

FP树是关联规则算法的一种,主要是用于分析数据项之间的关联性,将关联性大的数据项找出来,具体的一些概念见书《数据挖掘概念与技术》上介绍的频繁项集,支持度等。算法执行过程:1.         扫描数据,计算一项集的计数。2.         根据计数与支持度计算出频繁一项集,对于频繁一项集按照计数从大到小进行排序,

2010-04-20 14:37:00 4888 1

原创 专注+博学

   经过一段时间的思考与学习,发现自已不是不够专注和博学,因此在以后的学习过程中,需要加强这方面的学习。这阵子对服务器的构架挺感兴趣的,有空需要好好的研究一下吧。  GOOGLE退出中国大陆了,用起来没有以前那么好用了,有点怀念。

2010-03-28 17:15:00 1392

原创 内存内存,资源资源!!

      今天把一个遗留了很久的问题,给找出来了,可能还有些地方还存在这样的问题,就是在用C写代码时,忘记了DELETE操作,导致程序运行一阵子就卡住了,很莫名的,之前有意识到,可都没有时间好好看看代码,主要是代码太多,不知道是哪个点,以后写代码要认真细心点了。包括操作系统的资源问题,比如线程的控制等等。。。

2010-03-14 22:42:00 606

原创 网易面试归来

       今天上午去网易参加了网易的招聘会,我应聘的是互联网后端开发。应聘这个职位是因为自已在半年以前开始认真的学习了hadoop这个开源的分布式项目,但是自已的经验仍然是我的短板,加上最近实验室有些事情要做,关系到毕业的问题,所以也就有阵子放下了。但是这里面确实有很多东西值得思考的。       今天的笔试,我考得很差,真的是很烂,回来后一直想不出原因,估计是自已太久没看算法了,网易

2010-03-13 21:46:00 1417

原创 垂直搜索引擎的关键技术

      对于搜索引擎有几个关键的技术词语,如:网页抓取,网页解析,索引存储,查询接口,结果排序等等。但是对垂直搜索来说,又有些不同,何为垂直搜索,我的理解是只需要针对某个领域内的几个特定的网站,进行信息抓取。这样一来减少了很多工作。       举个例子,我需要做一个提供工作信息的网站,而这个网站是集成了好几个网站的资料的,比如51job,智联招聘等。那么对于网页抓取的话,我的网站数据

2010-03-06 11:00:00 1638

原创 花了几天时间,把hadoop的基本平台在机器上运行起来了。

 开学回学校后,把hbase,hive这二个平台在自已机器上运行起来了。在配置期间,有几个错误一直困扰我几天,最终在网友的帮助和自已的努力下,终于解决了问题。可以运行是值得高兴的。接下来要研究研究内部的实现以及一些实际项目的开发。

2010-03-06 10:22:00 643

原创 虎年新春快乐,有所进步。

    春节过完,已经回校了,开始新的一年奋斗,调整心态和激情,抓住技术知识点,不断的前行。我思故我在,加油吧。未来是美好!

2010-02-26 23:43:00 485

原创 有感于优快云广州技术沙龙第四期

       下午去参加了优快云线下活动在广州网易举行的。在那里,见到了传说中优快云上的一些牛人,看到了真面目,这是我第一次参加这个讲座,气氛很浓,大家都是在讨论技术,交流技术与心得。只不过自已的知识有限,没有那么高的境界哦。呵呵。。。需要努力升级,持续增长,加把劲学习才行,找到了差距。本期讲了项目管理软件TRAC以及API的设计与实现原理,虽然自已都不怎么熟悉这些,但是在讲座时,有几位同

2010-01-23 23:37:00 929

原创 圣诞节快乐!

       前阵子一直在忙着找工作,所以时间比较紧,也没有抽空看书了,但是在找工作的过程中,渐渐地认识到了自已的优势以及未来的发展空间,结合自已的所学,其实觉得互联网还是一个很有发展前景的方向,所以就定位在互联网了,但是这里面有很多需要学习的,关是数据存储访问这一块就有很多东西需要学习,随着数据每天的递增,数据会一直增加的,以前的集中式数据库会到一个饱合状态,无法满足需求,所以需要一种新方法去做

2009-12-24 19:14:00 697

原创 刚刚写了一些关于找工作的事情,突然间有BUG。

 忘了把它写到WORD上,于是全没了。。。说一下自已在找工作中,发现自已的不足吧。英语不够自信,还不是很有信心去外企。没有参加一个像ACM这样的大赛,并且拿奖。然后就是没能去好公司实习,真正学习一个领域的深入理解。等等这些。。。需要在今后继续加强。

2009-11-14 20:58:00 579

原创 科技人生

国庆这几天,闲来无事时就看看电视,无意中发现了CCTV10的科技人生频道,那里播出了许多科学家的人生道路。比如王淦昌,杨振宁等等。同时还有一些普通百姓的科技梦想,让我倍受启发,他们那种精神值得每一位现代青年学习。如今的年轻人都很少有那种精神了,忘我工作,为国家而贡献,抛开儿女情,特别让我很受鼓舞的是,他们很多人中,在一个地方一待就是十年,甚至几十年,为的就是做出一点点东西来,有的因为国家机密的原因

2009-10-25 23:28:00 717

原创 web搜索之简单介绍

    今天晚上,大学同学叫我帮他看一下代码,于是他把公司的搜索引擎的代码发给我,有十几M大小,我解压后导入IDE,快速浏览了一下,原来也不过如此,由于代码版本过于太早,而且有些类还丢失,故无法运行起来,以便查看一下它的效率和性能方面。       我很早就想说关于WEB搜索的知识了,一直没有静下来写,其实说简单一点,搜索引擎的步骤有,抓取网页,分析网页,建立索引,查询结果排序等这些。这几个步

2009-07-02 23:45:00 1667

原创 高考1977

 又是一年高考时,记得03年的现在,我也参加高考了,当时的我单纯可爱,非常紧张导致晚上没睡好,想起来到现在已有好多年了。 今天有空看了电影“高考1977”,一群山下乡的知青,在农村里工作十多年,每天都一样的生活,工作。突然间,国家政策改变了,恢复考试,大家都可能报名参加考试,然后择优录取为大学生,在他们的眼里,只要考上了就能回到大学,而不用在农场。可以学习知识,渴望知识。其中里面多次提到知识的重要

2009-06-11 23:12:00 643

原创 豆瓣里可以很好的交流书籍。

  早在去年就注册了豆瓣,但是一直都没怎么去用它,之前也有过深入思考关于读书话题,在没读研之前,我还没有意识到自已的知识,但是读研后,我就一直充实自已的知识,自然就会去上网看别人分享的经验,有人曾说过,无论是专家,还是科学家,他们都是善于读书的,读书使人变得有思考,使自已内心深处接受了很多知识。       到了豆瓣后,发现自已读的书真的不多,不论是计算机专业知识,还是说其他的读物,比如哲

2009-05-23 22:42:00 737

原创 五一白云山之游玩

         这次五一国家规定放假三天,初中同学郭XX从深圳赶来广州玩,这是他第一次来广州,于是我想起了白云山,而且我来广州都一直没有去白云山玩,于是决定这次五一去白云山,早上9点开始从学校出发,大概半个多小时到了白云山,门票是每人4元钱,不算太贵,进去以后就是一直在爬山,没有其他特别的活动。爬一段后休息一会,一直这样半停半走的状态,爬到山顶,到了山顶,发现人是非常之多,然后选择了另外一条

2009-05-08 23:35:00 1040

原创 ETL工具的关键技术

数据库的ETL工具就是指包括对数据表的抽取,转换,加载三个功能的软件工具,主要用于对多个数据库中的表进行集成,集成到一个数据仓库中,当数据源的表发生变化时,需要对捕获该变化,并且反应到数据仓库中,始终需要对数据仓库中的状态与数据源的状态保持一致性,这里关键的技术是增量获取。目前有IBM的datastage,oracle的OWB,微软的集成系统等。当然这些工具都有缺点,一般人员很难去熟悉他们,特别是

2009-04-22 23:30:00 1033

空空如也

空空如也

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

TA关注的人

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