作为分布式系统而言,有两个重要内容(当然还有其它的内容,这里仅仅讨论hadoop的核心):分布式存储和分布式计算。
分布式存储的原理:将一个大文件划分成若干部分,存储到不同的节点上(副本存储)。
好处:1)由于有副本存储,某个节点的down机不会影响到整个集群的使用,数据还是可以保证完整性的;
2)大文件划分小文件存储,这样便于后面的处理。这是因为计算节点(存储节点是同一个概念)可以处理这一部分数据,多个
计算节点可以并行处理。
整个来讲,HDFS的原理比较容易读,本质上讲,它是一个文件系统,只不过是分布式的,你也完全写一个简单的分布式文件系统出来的,只要你想做。
在讲分布式计算之前,我们来考虑一个问题,假设我们想完成一个任务:统计文章中哪些词出现的概率比较大。你会怎么做呢?
1.如果数据量小的话:
1)一个文件一个文件地读;
2)建立一个hashmap,key就是单词,value是频率;
3)如此循环。
2.如果数量大的话:
你会将这些文件分成若干部分,放到N台机器上并行运行,然后结果再合并。
问题:1)文件的分配,一个个复制吗?
2)结果合并,容易吗?
所以,出现了分布式计算框架,它要解决的问题就是上面的两点。
第1)点已经解决了,因为文件本身就是存储在不同的计算节点上的;
第2)其实包含了几个部分:
a)文件的打开与读取(Hadoop是一行一行的读);
b)中间结果的保存(也是存储到文件中去);
c)中间结果的合并和输出(最终结果存储到文件中去)。
你会发现,它的设计思想就是这么简单。然而要设计一个分布式系统框架,还是有很多事情要考虑的,这一点需要自己去体会。
分享到:
相关推荐
本书详细地讲述了Hadoop生态圈中最为重要的几个组件。不仅介绍了Hadoop涉及的分布式理论基础知识,还着重讲解Hadoop系统的工程实践应用。为了深入浅出地讲述Hadoop各个组件的运行机理,作者使用了贴切的实战用例
深入理解Hadoop 第2版
深入理解Hadoop.第2版 带目录
深入理解hadoop书中源码,本书写的还是很好,比较容易读懂
《深入理解Hadoop第2版》 完整版带目录。 分享给需要的朋友
本书作者基于对Hadoop系统的实践,深入浅出地对Hadoop进行了详细的讲解,包含大量的实例和技巧,可帮助有一定基础的开发者快速掌握分布式系统。主要内容包括:第1章~第4章讲解大数据系统的基本概念、Hadoop系统的...
深入理解Hadoop(原书第2版)的完整源码及部分素材Hadoop
Hadoop技术内幕 深入理解MapReduce架构设计与实现原理 高清完整中文版PDF下载
比较经典的《深入理解hadoop》书的源码,英文名为《pro Apache hadoop》,作者好像是个印度人,想不起名字了。该代码其实在书内有下载链接,只是得认真找才能发现。。。
理解大数据企业级hadoop和流数据分析
亚历克斯·霍姆斯 (Alex Holmes)、 梁李印 需要下载了1和2之后,才能解压开。解压的时候,两本放在同一目录。 ...HADOOP硬实战 Hadoop是一个开源的...本书提供了结构良好且易于理解的例子,可用于应对你所遇到的问题。
hadoop源码,官方,放心下载,完整版,阅读hadoop源代码的目的不一定非是工作的需要,你可以把他看成一种修养,通过阅读hadoop源代码,加深自己对分布式系统的理解,培养自己踏实做事的心态。
4. 理解为何需要配置 SSH 免密登录,掌握 Linux 环境下 SSH 的安装、免密登录的配置。 5. 熟练掌握在 Linux 环境下如何部署全分布模式 Hadoop 集群。 二、实验环境 本实验所需的软硬件环境包括 PC、VMware ...
《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》内容简介:“Hadoop技术内幕”共两册,分别从源代码的角度对“Common+HDFS”和“MapReduce的架构设计和实现原理”进行了极为详细的分析。《Hadoop技术内幕:...
书籍目录: 第一部分 Hadoop——一种分布式编程框架 第1章 Hadoop简介 1.1 为什么写《Hadoop 实战》 1.2 什么是Hadoop 1.3 了解分布式系统和Hadoop 1.4 比较SQL 数据库和Hadoop 1.5 理解MapReduce 1.5.1 动手...
《Hadoop技术内幕 深入理解MapReduce架构设计与实现原理》pdf书签版,第二部分,共三个部分,一起下载后解压。
深入理解Hadoop.第2版-无书签的扫描版本,清晰度还行,需要的下载收藏备阅。
把Hadoop理解为: 1.当作框架(例如tensorflow),专用于大数据处理,而不是Web开发 2.当作服务软件,C/S架构,例如MySQL(使用JDBC调用),缓存服务redis,索引服务solr。可以存储、分析数据。 Hadoop的历史: 1....