换一个角度来看Hadoop集群

在学过了Hadoop之后,Hadoop集群中的思想理念似乎也在生活中随处可见。下面举一个例子类比Hadoop集群中牵涉到的关键概念,以便更深入地理解Hadoop。


以一软件开发团队为例,团队中有领队(Leader)及其各成员(Members)。

  • NameNode:对应团队中的Leader,负责团队各方面工作的协调及工作分配;
  • DataNode:对应团队中Member,负责具体的工作任务,如:编码(task),写文档(存储);
  • 通信网络:Leader与成员以及成员之间的日常交流;Member向Leader提交周报;

  • HDFS:
    • 容错:团队中一名成员的离去,不影响团队的正常工作(节点会出错);团队中可以允许成员有工作失误(存储会出错);团队成员有时不能正确理解Leader任务分配(通信会出错);
    • 冗余:项目关键数据需多个人知道;启动两个项目组做同一个重要项目;

  • MapReduce:
    • Leader通过开会(客户端)接收到一个作业;
    • Leader将这个作业拆分(split)成多个task;
    • Leader将这个作业分配(map)给多个Members;
    • Member完成了一个分配(map)任务之后需要消化整理(shuffle)后再提交给其它Member,以便他人能快速获取(Fetch)、理解前一个Member的工作,进而节省了通信时间。
    • 团队中的部分成员需要对其它成员的工作做归并(reduce)操作,以便得到最终结果。根据任务的差异,有时候归并操作只能一个人(一台服务器)来做,例如:对多个Member的结果按字母顺序归并且全局排序。

  • 心跳机制:每天(3s)Member都需要打卡向Leader报告,表示来上班了,如果有Member连续10天(mins)没来上班了,Leader则认为他离职了(dead)。
  • 推测执行(Speculative execution):若Leader发现有个Member的项目进度太慢,则启用另一个Member与其做同样的工作,谁先做完就用谁的结果,避免个别Member拖慢项目的总进度。

Hadoop还有很多其它概念也能跟生活中的事例关联起来,你还能想到哪些呢?欢迎交流!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值