`
xubindehao
  • 浏览: 240103 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

hadoop简介

阅读更多

    系统在现网运行中,很多错误日志没能及时的分析,导致系统的问题总是用户发现,然后告诉我们来解决,而不是我们主动的去积极解决系统中的问题,因此想通过 业余时间做一个日志分析系统,主要是把应用层和消息传输模块抛出的日志做分析,方便定位问题。在多核CPU的时代,并发编程是一个趋势,为了更好的利用现 网和测试环境的4核CPU,需要先研究一下分布式并发框架Hadoop。

     什么是Hadoop?

     Hadoop 是 apache下面的一个分布式并行计算框架,是从lunece中抽取出来的一个框架。Hadoop的核心设计思想是:MapReduce和 HDFS,MapReduce是Google提出的一个软件架构,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)" 和"Reduce(化简)",和他们的主要思想,都是从函数式编程语言借来的,还有从矢量编程语言借来的特性;HDFS是Hadoop Distributed File System的缩写,即:Hadoop分布式文件系统,为分布式计算存储提供底层支持。注:MapReduce (google mapreduce 论文点击这里 ), GFS(Google File System)和bigtable是google的三大核心技术。

     HadoopMapReduce介绍

     

     Map(映射)和reduce(化简)是分开处理的,map是将一个任务分解为多个任务执行,reduce是将多个任务汇总起来得到想要的结果。把一个 list拆解为多个放到线程池中启动多个线程计算list中值,然后把多个任务返回的结果合并为一个总的结果其实就是一个简单的MapReduce的应 用。

     在Hadoop官方文档(单击这里 )介绍了HadoopMapReduce的三个步骤,map(主要是分解并行的任务),combine(主要是为了提高reduce的效率),reduce(把处理后的结果再汇总起来)

    HDFS介绍

     

    由上图可以看出,HDFS是由Client,Datanodes,Namenode3部分组成成(详细介绍点击这里 )。NameNode 可以看作是分布式文件系统中的管理者,主要负责管理文件系统的命名空间、集群配置信息和存储块的复制等。NameNode会将文件系统的Meta- data存储在内存中,这些信息主要包括了文件信息、每一个文件对应的文件块的信息和每一个文件块在DataNode的信息等。DataNode是文件存 储的基本单元,它将Block存储在本地文件系统中,保存了Block的Meta-data,同时周期性地将所有存在的Block信息发送给 NameNode。Client就是需要获取分布式文件系统文件的应用程序。这里通过三个操作来说明他们之间的交互关系(via 岑文初《分布式计算开源框架Hadoop介绍

    Hadoop非常适合海量数据分析,我们系统中的错误日志如果是GB级别的时候,估计问题早就被用户发现了。所以这种日志的分析只是借鉴Hadoop的 思想,具体的实现在concurrent基础上就好了。最后共享06年Doug Cutting一个PPT一份,大家围观之!

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics