Cluster Programming: Hadoop 了解

介绍

现在终于进入了cluster programming——hadoop。

要了解Hadoop需要了解以下问题:

1、为什么需要使用分布式系统(distributed system)?

2、在large scale的分布式计算中,出现failures的情况时有发生么?

3、在Hadoop中是如何解决这些问题的?

4、什么是Mapreduce?

5、什么时候可以使用Mapreduce应用比较合适?

6、Mapreduce中定义的组成成分?

7、在HDFS中是如何减少数据瓶颈的?

8、云计算的优点是什么?

1、分布式系统的定义:分布式系统是针对计算量大的问题而提出,而且这类问题可以分成好几个任务,由单个或者多个计算机完成。

云计算:在云资源上的分布式计算。

使用分布式系统可以解决scalable data的数据处理问题。

云计算架构和分布式计算组成了scalable computing。

scalability主要体现在:

data(数据增加2x,计算的时间不会超过两倍);resources(数据给到之前的两倍,但是使用的资源不会超过原来的两倍)

这种scalable computing就是shared nothing的问题,属于share Nothing Architecture. 每个节点都是自给自足的,不会与别的节点进行数据共享。

HPC vs shared nothing architecture的区别:
HPC是分配workload,然后shared nothing architecture是分配资源。

HPC稳定性不如shared nothing architecture。因为HPC受到了网络带宽、同步数据等等影响。而且没有对应的保障机制。

**2、**Hadoo中发生故障的概率:
ensured。

3、保障机制
MapReduce + HDFS (Hadoop Distributed Filesystem)

  • Fail-safe Storage: By default stores 3 separate copies of each block(每个块拷贝三份)
  • Fail-safe Task Management: Failed tasks re-scheduled up to 4 times(出现故障的任务最多执行四次)

4、mapreduce的框架
一种编程模型(对大规模数据的执行模型)、一种执行框架(转为商用软件设计的框架)。

它的好处有:

  • 本地数据读写
  • 本地数据分区
  • 内存使用

map就是对输入数据做一个映射。然后reduce就是对map之后的数据做一个整合。

这里写图片描述

在mapreduce中,需要做的就是定义一个key-value pair的数据结构;然后是map和reduce函数。

5、What component and functions need to be defined?

dataset :存储在正在执行的分布式系统中。
mapper:将输入的key-value pair通过映射函数,生成新的key-value pair。
reducer:把key一样的所有value联合起来,生成新的key-value pair。

具体可以看下图:

这里写图片描述

在mapper和recuder之间还有shuffle 和 sort。

Haddop框架注意的是mapper,而我们设计者更多注意的是reducer。

这里写图片描述

7、HDFS的bottlenecks:

分布式文件系统:写一次、读很多次;不解决并发问题,但是允许重复;对throughput优化,但是不对latency进行优化。

这里写图片描述

整个HDFS的读和写的过程:

Data is never moved through the NameNode —— no bottleneck

所以HDFS没有bottlenecks。

HDFS的局限:

很高的star up的cost;低效的“shuffle and sort”

所以hadoop比较适合:

Small number of large files preferred over a large number of small files

8、云计算的优点:

  • 给人有无穷计算资源的错觉
  • 消除了用户进行提交的过程
  • 能够在短时间内付出相应的计算资源

【1】参考书:White, Hadoop: The Definitive Guide, 3rd Edition, Yahoo Press, Oct 2010

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值