Mapreduce计算框架涉及的技术(1)-从单节点单进程到多节点多进程

     单节点计算机的计算能力和数据存储能力有限,因此,在进行大规模数据处理时必须使用由多个计算机节点组成的集群。但是在集群这样一个分布式环境下传统单机环境有很大的不同,具体体现在:

a)  计算任务的划分

b)网络不确定性,分布式环境下的进程间同步互斥等

c)系统硬件的不确定性,集群环境下硬件出现故障是常态

d)系统软件的不确定性,

本文从一个简单的计算场景开始 分析 分布式计算环境涉及的技术。

一,简单的程序场景

    我们做如下考虑,对输入数据集进行排序。随着输入数据集的不断增加,计算资源也从单计算节点增加到多计算节点。我们不利用任何分布式系统,用脚本例如bash来实现利用多计算节点同时并行处理数据。场景变化顺序:单节点单进程---》单节点多进程---》多节点多进程


图1 三个简单的程序场景

在第一个场景向第三个场景变化过程中,需要用脚本实现的功能包括

a)输入数据划分和拷贝,将输入数据分别远程拷贝到各个计算节点

b)启动数据处理进程,分别启动各个节点上的处理集成

c)等待计算过程结束,全部节点计算完成,整个任务才算结束

c)将计算结果拷贝到一起,将各个节点上的处理结果拷贝到同一个节点


这个过程会面临以下几个主要问题

1)数据划分不合理,数据(任务)划分只能够以粗粒度的方式进行,会导致个节点完成任务的时间相差很大,导致资源浪费

2)数据拷贝过程复杂,拷贝数据须对网络进行配置,同时频繁的数据拷贝降低了程序的可移植性

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值