• 1、Hadoop架构


    1、Hadoop 是一个能够对大量数据进行分布式处理的软件框架,实现了Google的MapReduce编程模型和框架,能够把应用程序分割成许多小的工作单元放到任何集群节点上执行。

    作业(job):一个准备提交执行的应用程序;

    任务(task):从一个作业划分出的、运行于各计算节点的工作单元;

    HDFS:主要负责各个节点上的数据存储,并实现高吞吐率的数据读写;

    2、在分布式存储和分布式计算方面,Hadoop使用主/从(Master/Slave)架构,在集群中运行一系列后台程序

    (1)NameNode:HDFS的守护程序,负责记录文件是如何分割成数据块的,以及这些数据块分别被存储到哪些数据节点上。主要功能是对内存及I/O进行集中管理;NameNode所在服务器不存储任何用户信息或执行任何计算任务,以免这些程序降低服务器性能。但NameNode是Hadoop集群中的一个单点,一旦宕机,整个系统将无法运行;(50070端口)

    (2)DataNode:集群中的每个从服务器都运行一个DataNode后台程序,负责把HDFS数据块读写到本地的文件系统。当需要通过客户端读写某个数据时,先由NameNode告诉客户端从哪个DataNode进行具体读写操作,然后直接与这个DataNode服务器上的后台程序进行通信,并且对相关的数据块进行读写操作;

    (3)Secondary NameNode: 用来监控HDFS状态的辅助后台程序。每个集群都有一个Secondary NameNode,部署在一台单独的服务器上,他不接收或记录任何实时的数据变化,但会与NameNode通信,以便定期地保存HDFS的快照功能,可以将NameNode的宕机时间和数据损失降低到最小,可以作为备用NameNode使用;

    (4)JobTracker: 用来连接应用程序与Hadoop。用户代码提交到集群后有JobTracker决定哪个文件将被处理,并且为不同的task分配节点,同时还监控所以运行的task,一旦某个task失败了,JobTracker就会自动重新开启这个task,大多数情况下这个task会被放在不同的节点上。具体取决于重启的预设值。每个Hadoop集群只有一个JobTracker,一般运行在Master节点上;(50030端口)

    (5)TaskTracker: 与负责存储数据的DataNode相结合,其处理结构上也遵循主从架构。TaskTracker位于从节点,独立管理各自的task。每个TaskTracker负责独立执行具体的task,而JabTracker负责分配task.每个TaskTracker可以产生多个Java虚拟机(JVM),用于处理多个map及reduce任务。TaskTracker的一个重要职责就是雨JobTracker交互,如果JobTracker无法准时获取TaskTracker提交的信息,JobTracker就判定TaskTracker已经崩溃,并将任务分配给其他节点处理。

     其中NameNode、Secondary NameNode、JobTracker运行于Master节点上,而在每个Slave节点上部署DataNode、TaskTracker,以便直接处理本机的数据

  • 相关阅读:
    PHP学习笔记(二)
    PHP开发笔记(一)
    PHP NOTE
    python windows进制文件可以直接下载使用
    深入浅出Hyper-V网络虚拟化技术
    深入浅出Hyper-V网络虚拟化(序)
    Windows Server 笔记(七):Windows Server 2012 R2 NIC Teaming(NIC组)
    Hyper-v Server 2012 R2增强会话模式
    Hyper-V动态迁移中?小心性能损失
    CLOUDSTACK FOR HYPER-V
  • 原文地址:https://www.cnblogs.com/liutoutou/p/3240191.html
Copyright © 2020-2023  润新知