参考书籍:《Hadoop集群程序设计与开发》 ————————————————————
第 1 章:初识 Hadoop【理论篇】
1.为什么要学习Hadoop?
2. Hadoop、云计算、大数据 三者之间的关系
云计算:
1.定义:
(在百度百科中,解释为“云计算(cloud computing)是分布式计算的一种,指的是通过网络‘云’将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户”
2.分类:
·按服务分类:
(IaaS,基础架构即服务)
(PaaS,平台即服务)
(SaaS,软件即服务)
·按部署模式分类:
(公有云:云基础设施对公众或某个很大的业界群组提供云服务。
(私有云:云基础设施特定为某个组织运行的服务。(可以由该组织或某个第三方负责管理,可以是场内服务,也可以是场外服务。)
(社区云:云基础设施由若干个组织分享,以支持某个特定的社区。(社区是指有共同诉求和追求的团体。)(和私有云类似,社区云可以由该组织或某个第三方负责管理,可以是场内服务,也可以是场外服务。)
(混合云:云基础设施由两个或多个云(私有云、社区云或公有云)组成,独立存在,但是通过标准的或私有的技术绑定在一起,这些技术可促成数据和应用的可以移植性(如用于云之间负载分担的Cloud Burstig 技术)。
3.Hadoop在云项目中扮演的角色
云计算借助IaaS、PaaS、SaaS等业务模式,把强大的计算能力提供给终端用户。
Hadoop主要解决的是 分布存储、分布式计算 的问题,是云计算的PaaS层的解决方案之一,但不等同于PaaS。
大数据:
1.定义:
(在百度百科中,解释为“大数据(big data),或称巨量资料,指的是所涉及的资料量规模巨大到无法透过目前主流软件工具,在合理时间内达到撷取、管理、处理、并整理成为帮助企业经营决策更积极目的的资讯”
2.特征:
(1.多样性,Variety:包括(1)结构化数据,(2)各类非结构化数据(如文本、音频、视频、文件记录等),(3)半结构化数据(如电子邮件、办公处理文档等)。
(2.速度快,Velocity:通过具有时效性,企业只有把握好对数据流的掌控应用,才能最大化地挖掘利用大数据所潜藏的商业价值。
(3.数据量大,Volume:虽然对个大数据量的统计和预测结果并不完全相同,但是都一致认为数据量将极具增长。
(4.价值密度低,Value:可以从海量价值密度低的数据中挖掘出具有高价值的数据。这一特性突出表现了大数据的本质是获取数据价值,关键在于商业价值,即如何有效利用好这些数据。
3.Hadoop在大数据中扮演的角色
可以把Hadoop理解为大数据技术中的一种解决方案的软件架构,它的出现极大地降低了大数据项目的研究实现对人的要求。
3.Hadoop的用途 —————————————————————— 学习 Hadoop 需要做的准备: 1.必要的基础知识
1.必备的Java语言基础知识:
(Hadoop是由Java编写的,虽然能支持多语言编程,但Java是母语,MapReduce用Java来写也最地道。
(此外,Hadoop产品对用户都不同程度地留下了二次开发的接口,可以满足用户自定义开发的功能需求。
【所以扎实的Java语言功底必不可少】。
2.必备的Linux基础知识:
(目前,基于Linux平台搭建Hadoop,是非常规范且流行的模式。
【所以需要了解Linux下的常用操作。主要需要掌握的知识点如下:
(1)熟练操作Linux常用命令:配置、操作文档时需要用到。
(2)网络配置:分布式平台间通信需要用到。
(3)熟悉用户及权限管理操作:平台中节点间数据访问权限配置需要用到。
(4)熟悉软件包及系统命令管理:软件包安装与部署时需要用到。
(5)简单Shell编程:文件操作、查询等需要用到。】
3.必要的虚拟机基本应用知识:
(虽然一个节点搭建Hadoop也能进行编程的学习,但为了更好地了解Hadoop应用,至少需要3个节点进行分布式搭建。
(3个节点可以以实体机搭建,这样不涉及虚拟化知识的应用,但很少人拥有这样的实验环境,而且携带、维护都不方便。
(通常的做法是:将3个节点以虚拟机的形式搭建在自己的笔记本中或者实验机中,以方便学习。同时,企业基本上都是以虚拟机的形式来搭建与管理Hadoop平台。
【因此,掌握基本的虚拟化应用知识非常重要,至少要掌握如下知识点:
(1)建立虚拟机。
(2)虚拟机下Linux操作系统的安装与复制安装。
(3)虚拟机网络配置与访问。】
2.需要的实验环境
(仅供参考)
单节点搭建环境:一台4GB内存、500GB硬盘的机器即可。
分布式搭建环境:一台8GB内存、500GB硬盘的机器即可。
第 2 章:Hadoop 基础知识【理论篇】
1.简介
2.HDFS工作原理
3.MapReduce工作原理
4.YARN工作原理
5.RPC工作原理
6.Hadoop 改进
(持续更新、完善中。。。)
|