我对hadoop的理解

我对hadoop的理解

hadoop优势

hadoop就是把一台计算机做不完的活分配给多台计算机做,这样就可以在短时间得到结果,对于处理TB,PB数量级的数据有很大的优势!也就是我们平常所说的分布式处理数据!针对海量的数据,当业务数据量总量或增速上升到一定级别,依靠关系型数据库一定无法支持。对于非关系型数据库,包括NoSQL和Solr一类存储方式,稍显复杂,对于机器集群性能要求偏高(相对于文件系统)。从数据使用模式上来讲,目前海量数据的常常是不包含复杂逻辑的简单统计整理(比如上述系统中的关键词匹配)。这时候文件系统的优势反而比较明显(结构简单,逻辑简单)。而且hadoop开源,任何人都可以免费部署,开发,对企业的业务有很大的帮助!hadoop有以下优点:⒈高可靠性。⒉高扩展性。⒊高效性。⒋高容错性。特别是高扩展性,可以很方便的增加服务器和减少服务器,弹性很大!对于企业的业务伸缩最具有很大帮助性!

hadoop环境

环境模拟架构:hadoop框架依赖于linux或unix平台使用,如果是window的话需要依赖cygwin模拟,包括一个namenode和三个datanode,其中secondaryNamenode和jobtracker都运行在namenode;DataNode和TaskTracker以及生成的MapReduce运行在datenode(1-3)服务器上,数据有三份备份,商用的时候它利用大量廉价的服务器组成集群,

hadoop架构

hadoop架构采用namenode和datanode的方式,而且是代码往数据转移的方法,避免了大量的数据传输,灵活性很高!而且3份备份数据,当某台服务器down机的时候,能很快的数据恢复!高容错!

hadoop工作方式

hadoop把输入数据划分成小数据发送到mapreduce(分片),它为每个分片创建map任务,我们自定义map函数分析每个分片的记录。MapReduce的工作过程分为两个阶段:map阶段和reduce阶段,每个阶段都有键/值作为输入和输出,定义两个函数:map函数和reduce函数,map函数只是一个数据准备阶段,reduce函数在此基础上工作。jobtracker和多个tasktracker控制作业的执行,jobtracker通过调度任务在tasktracker上运行来协调所有运行在系统上的作业。

One Reply to “我对hadoop的理解”