【并行与分布式计算】第五章--大数据多机计算

目录

大数据和分布式的基础概念

从硬件和软件的角度思考实现大数据的需要

分布式

谷歌“三驾马车”

Hadoop

Hadoop概念

HDFS

YARN

MapReduce

Spark


大数据和分布式的基础概念

从硬件和软件的角度思考实现大数据的需要

硬件角度:(1)大量机器的集群构成数据中心 (2)使用高速互联网络对大量机器进行连接以确保数据传递 (3)综合考量数据中心的散热问题、能耗问题,以及各方面成本 (4)集群中硬件发生故障的概率很高,如何确保可靠性 (5)单一架构的机器难以胜任各种计算类型,考虑异构计算

软件角度:(1)分而治之,使用分片存储策略和分布式算法对大数据进行存储与处理 (2)考虑存储与计算的容错性,以使得故障发生时造成的损失最小化 (3)算法设计方面要尽可能减少节点间通信(因为这很耗时)

分布式

将任务分配到许多节点上去,借助网络并行计算。包括分布式存储分布式计算

谷歌“三驾马车”

GFS(分布式文件系统)、BigTable(管理结构化数据的分布式存储系统)、MapReduce(处理和生成大数据集的编程模型)

Hadoop

Hadoop概念

Hadoop是一系列开源软件的集合,是为大数据处理而设计的框架。

HDFS

概念:是Hadoop下的一个分布式的文件系统。

HDFS的架构:HDFS使用master/slave架构,包含一个NameNode和多个DataNode。目录结构、命名空间、分块的存储位置由NameNode维护;文件的各个实际的块由DataNode存储。

特点:(1)分块存储,每个块都有多个副本,有较高容错性。(2)一个文件一旦创建、写入和关闭就不需要更改,除了追加和截断,这样简化了一致性问题且提高了吞吐。

YARN

概念:是Hadoop下用来调度计算任务和计算资源的框架。

架构:(1)master/slave架构,master是ResourceManager,slave是NodeManager;(2)ResourceManager--负责集群中全部应用程序的资源调度,包含Scheduler和ApplicationManager两个组件;(3)NodeManager--负责管理容器,监控其使用情况,而ApplicationMaster则负责管理一个Application,向ResourceManager汇报资源状态和申请资源。

MapReduce

概念:是一个用于编写并行大数据处理程序,并使其在集群上可靠运行的编程框架。

过程:输入为<k,v>对,输出也为<k,v>对;(1)在各机器上启动代码副本,执行map操作,读入分块并输出中间值 (2)对中间值按key进行分组、排序(3) 在各机器(reduce worker)上启动代码副本,执行reduce操作,读入各自key对应的中间值并生成结果

推测执行:在集群上分布式执行任务时,总会有一些节点跑得比其他节点慢很多 Hadoop默认情况下不会傻傻等着慢节点运行完,如果发现有的任务执行比平均速度慢,它会尝试开启一个与该任务相同的“推测任务” 原任务和推测任务谁先跑完就用谁,另一个会被终止。

Spark

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值