当前位置:   article > 正文

Hadoop入门学习笔记_hadoop 每台机器上安装都是一样的,只不过是启动的进程不一样?

hadoop 每台机器上安装都是一样的,只不过是启动的进程不一样?
Hadoop是一个Java语言编写的框架。
这个框架的功能:(1)分布式存储;(2)分布式计算。

分布式:这个数据分散在很多台不同的计算机中。

分布式存储:数据分散在很多的机器上进行存储。如百度云盘、360云盘等。最大特点:让用户感觉不到数据分散在多台数据中存储,好像是在一台机器上存储一样。(HDFS Hadoop distributed file system)。原因:物理磁盘不够用,只能放在多台机器中进行存储。

分布式计算:简单来说数据分散在很多的机器上进行计算。即一套程序在不同机器中,协同完成一件事情。好处:让多台机器同时运行,节省运行时间。

不是任何程序都可以用分布式计算的,只有程序可以分阶段执行的才可以,比如顺序结构的程序可以使用分布式计算,但是对于循环结构的程序就不可以用分布式计算。

Hadoop中分布式计算表现为 MapReduce。

最经典的是Apache(官方版本)的Hadoop,Cloudera是使用下载最多的版本,稳定有商业支持,在Apache的基础上打了一些patch。HortonWorks是基于Apache的版本进行了集成。

Apache Hadoop包含以下四个部分:
(1)通用部分: The comman utilities that support the other Hadoop modules,如序列化、RPC通信、工具类、包等。
(2)HDFS部分: A distributed file system that probides high-throughput access to application data,即前面介绍的分布式存储。
(3)YARN部分: A framework for job scheduling and cluster resource,它是一个资源管理平台。负责作业调度与集群的管理。
(4)MapReduce: A YARN-based system for parallel processing of large data sets.

分布式计算包含:YARN和MapReduce两个部分。

在Apache Hadoop上衍生的一些框架有:
(1)Ambar:Hadoop集群管理、监控平台;
(2)Avro:数据序列化系统;
(3)Cassandra:不存在单点问题的数据库;
(4)Chukwa:数据收集系统;
(5)HBase:支持大量结构化数据存储的数据库;
(6)Hive:支持数据汇总和即席查询的数据库;
(7)Mahout:机器学习和数据挖掘的library;
(8)Pig:高层次的数据流语言;
(9)Spark:快速的通用的计算引擎;
(10)Tez:通用的数据流编程框架;
(11)ZooKeeper:一款高性能的分布式服务提供协调服务的框架。

Hadoop的核心项目
(1)HDFS:分布式文件系统,如果没有存储数据,我们的计算是无意义的。处于最底层,用来提供数据。
(2)Yarn:资源管理平台,比如:多台计算机的CPU、网络带宽等资源的管理,在上面运行分布式计算,典型的计算模型有MapReduce、Storm、Spark等。

Apache Hadoop只提供了MapReduce,像Spark、Strom不属于Apache Hadoop的。

MapReduce、Spark、HDFS、Storm等都是分布式程序,这些分布式程序均具有主从式结构。

HDFS的架构:
(1)负责数据的分布式存储
(2)主从结构
          主节点:可以有多个namenode
          从节点:有很多datanode
 (3)namenode负责:接收用户请求,是用户操作的入口;维护文件系统的目录结构,称作命名空间
 (4)datanode负责:存储文件

Yarn的架构
(1)资源的调度和管理平台
(2)主从结构
         主节点,只有一个:ResourceManager
         从节点,有很多:NodeManager
(3)ResourceManager负责:
        集群资源的分配与调度;
        MapReduce、Storm、Spark等应用,必须实现ApplicationMaster接口,才能被RM管理。
(4)NodeManager负责
        单节点资源的管理

MapReduce的架构
(1)依赖磁盘IO的批处理计算模型
(2)主从结构
        主节点,只有一个:JobTracker
        从节点,有很多:TaskTracker
(3)JobTracker负责
        接收客户提交的计算任务;
        把计算任务分配给TaskTrackers执行,即任务调度;
        监控TaskTracker的执行情况。
(4)TaskTrackers负责
        执行JobTracker分配的计算任务
它是分阶段执行的,即Map阶段和Reduce阶段。这两个阶段都被TaskTracker掌控。

Storm的架构
(1)实时的流式计算模型
(2)主从结构
        主节点,只有一个:Nimbus
        从节点,有很多:Supervisor
(3)Nimbus负责
       接收客户提交的计算任务;
       把计算任务分成Task,放置到zookeeper上,供supervisor使用;
       监控Task的执行情况。
(4)Supervisor负责
        从zookeeper中获取Task,执行Task。

Hadoop的特点:
(1)扩容能力(Scalable):能可靠地存储和处理千兆字节数据;
(2)成本低(Economical):可以通过普通机器组成的服务实现分发以及处理数据。这些服务器群总计可达数千个节点;
(3)高效率(Efficient):通过分发数据,Hadoop可以在数据所在的节点上并行处理它们,这使得处理非常快;
(4)可靠性(Reliable):hadoop能自动地维护数据的多份副本,并且在任务失败后能自动地重新部署计算任务。


      Hadoop集群,Hadoop是部署在真正的服务器上的,服务器是放在机架上面的,每一个机架都有一个交换机,然后这些交换机通过一个大的交换机连接起来,用户是直接通过交换机来进行请求的。
     安装在服务器上的代码都是一样的,只是在运行的时候会启动不同的JAVA进程,这个Java进程
 就标明了这个节点是主节点还是从节点,主节点是单独占有一台机器,从节点是两种不同的进程放在一起。主节点专门做管理工作的,所以希望它能够独立。从节点一个是存储一个是计算,两者之间是有需求的,所以它们是放在一起的。
     每台机器上的代码都是一样的,只是启动的进程是不一样的。
Hadoop的安装:
    Hadoop是分主节点和从节点的,是在linux系统下进行运行的。均有java虚拟机。
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号