• (9)Hadoop2.0主流开源云架构之架构思路和冗余存储


    Hadoop的架构思路:

    (1)分布式存储(Hadoop分布式文件系统HDFS)

    采用客户-服务器模式构建分布式存储集群,让Master(存储主节点)管理Slave

    分布式存储,

    对内表现为客户-服务器模式。只要保证store master正常工作,我们很容易随意添加store slave,硬盘存储空间无限大。 

    对外表现为一个统一的存储空间,一个统一的文件接口。整个集群就像是一台机器、一片云,硬盘显示为统一存储空间,文件接口统一。 

    (2)分布式计算

    采用客户-服务器模式构建分布式计算集群:    Master为计算主节点

    分布式计算步骤流程:

    本地计算(Map) --> 洗牌(Shuffle) --> 汇总计算/合并再计算(Reduce) --> 存结果

    分布式计算的每一个步骤都是并行的。

    第一步 每台机器将各自KV对中的Value连接成一个链表
    第二步 各台机器可对<key,valuelist>进行业务处理,称此过程为Reduce。
    第三步 将得出的结果再存于DFS。 

    分布式存储与分布式计算:

    分布式存储和分布式计算这两者间并没有关系,它们各自都可以独立存在。

    如何能够实现“合并” 过程也由多机执行?洗牌(shuffle)规定将Key值相同的KV对,通过网络发往同一台机器。
     

    Hadoop的冗余存储与冗余计算:

    (1)冗余存储:

    只要保证存于cSlave0上的数据,同时还存在于别的机器上,即使cSlave0宕机,数据依旧不会丢失。 
    如引入新机器cSlave2和cSlave3,将存于cSlave0的file0同样存储于cSlave2,存于cSlave1的file1同样存一份于cSlave3。 
    (2)冗余计算
    cSlave0~3的计算任务统一由cMaster1指派。
    cMaster1选中先结束的那台机器的计算结果,并停止另一台机器里还在计算的进程
     
    冗余存储于冗余计算的作用:
    通过冗余存储,不仅提高了分布式存储可靠性,还提高了分布式计算的可靠性。
     
  • 相关阅读:
    闭包
    laravel 控制器
    laravel 模板
    laravel 视图
    laravel 请求
    laravel 分页
    解决启动Apache遇到的问题Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:8888
    一张号称一篇程序覆盖Python基础的代码
    [转载]激活Navicat Premium
    C语言自定义函数的形参为数组时需要注意传入长度
  • 原文地址:https://www.cnblogs.com/paradis/p/11017274.html
Copyright © 2020-2023  润新知