Hadoop基础教程 笔记 第一章

Hadoop笔记--S1

1.1大数据处理的两种方法区别及联系

1.1.1向上扩展:

实现途径:迁移软件之更高硬件的服务器上进行处理。

优点,系统架构并不会随着数据量的增大而发生显著变化。尽管采用了更大型的不见,但部件之间的基本关系(例如数据服务器和存储矩阵)却依然保持一致。

1.1.2向外扩展:

实现途径:并不是通过升级系统硬件来获得更强大的处理能力,而是将数据处理任务分发给更多的机器。

优点采购成本降低,但软件成本会随处理能力的增长而激增。

1.1.3联系:向上拓展架构的必然趋势是加入向外拓展的策略,将二者结合起来。综合吸收了两种方法的部分优点,但也综合了两种方法的缺陷和成本:但一的方法要么需要昂贵的硬件,要么需要手动开发跨集群的逻辑,而在混合架构中缺一不可。

1.1.4向上扩展架构的终极趋势和成本曲线导致其在大数据领域鲜有应用,而向外扩展的架构却成了事实上的标准。

注意:如果要处理的数据涉及到很强的内部交叉引用,并需要保证事务的完整性,那么应基于向上拓展架构。

1.1.5集群中的一个系统应尽可能的保持相互独立。不应使用同一个共享存储系统保存所有数据,如果此节点宕机将会导致整个工作瘫痪,所以应避免此种情况发生。

1.1.6系统可用性的计算方法

系统可用性=各个不可缺失节点可用性的积

如:系统至少5台可靠性为99.99%的服务器,才可运行。那么该系统的可用性为5*99.99%=95%

系统正常运行时间与各个组件的可靠性临界点相关。

1.2.1Hadoop的组成部分

最主要的两个子项目是HDFS(Hadoop分布式文件系统)和MapReduce。

HDFS是一个可以存储极大数据集的文件系统,他是通过向外扩展的方式构建的主机集群。有着独特的设计和性能特点,以时延为代价对吞吐量进行优化,并且通过副本替换冗余达到了高可靠性。

MapReduce是一个数据处理范式,规范了数据在两个处理阶段(被称为Map和Reduce)的输入和输出,并将其应用于任意规模的大数据集。

其二者紧密结合,确保在任何情况下,MapReduce任务直接在存储所需数据的HDFS节点运行。

1.2.2HDFS简介

1)通常以最小64M存储数据块文件

2)在时延的基础上对吞吐量进行了优化能够高效处理对大文件的读请求流,但不擅长对小文件的定位请求

3)对普遍的“一次写入,多次请求”的工作负载进行了优化

4)每个存储节点上运行着一个称为DataNode的进程,它管理者相应主机上的所有数据块。这些存储节点由名为NameNode的主进程协调,该进程运行在一台独立的主机上。

5)使用副本来处理故障。每个由文件组成的数据块存储在集群多个节点,HDFS的NameNode不断监视各个DataNode发来的报告,以确保发生故障时,任意数据块的副本数量都大于用户配置的复制因子。否则NameNode将会在集群中调用新增一个副本。

1.2.3MapReduse简介

关键的基本概念是”分而治之”。基本原则是将但个问题分解成多个独立的子任务并发执行。

仅要求将数据以一系列键值对的形式传递给map函数。map函数的输出是其他键值对的集合。reduce函数收集汇总最终的结果数据集。

一个典型的MapReduce作业包括多个mapper和reducer,通常这些mapper和reducer并不是很简单。Hadoop平台负责执行数据处理的各个方面。当执行MapReduce作业时,Hadoop决定在哪台主机执行代码才能最高效的处理数据集。如果不进行与HDFS的组合使用那么在哪台主机执行代码并不重要,因为存储系统本身是一个会引发竞争的共享系统。但如果使用HDFS作为存储系统,基于移动数据处理程序比迁移数据本身成本更低的原则,MapReduce就可以在存储目标数据的节点上执行数据处理过程了。HDFS与MReduce集群部署在同一组服务器上。其中每台服务器不仅承载了待处理数据及管理这些数据的HDFS组件,同时也承载了调度和执行数据处理过程的MapReduce组件。当Hadoop接收到作业后,尽可能对驻留在主机上的数据调度进行优化,达到网络流量最小化和性能最大化的目标。

注:主机或服务器通常指的是承载各种Hadoop组件的物理硬件。节点指的是作为集群组成部分的软件部件。

纯手打,仅供个人学习使用.

猜你喜欢

转载自harborchung.iteye.com/blog/2319213