zoukankan      html  css  js  c++  java
  • hadoop 生态圈介绍

    简介
    Hadoop 是一个能够处理海量数据的分布式系统基础软件框架,理论上能够通过增加计算节点以处理无限增长的数据,由java写成。其作者是 Doug Cutting,得益于谷歌的Map/Reduce计算模型和GFS分布式文件系统,Hadoop实现了其核心组件HDFS和MapReducce。Hadoop 是目前世界上大数据行业的主流软件框架。其生态圈非常庞大,并且社区很活跃。Hadoop本身仅有hadoop-common + hdfs + mapreduce 组成,hadoop2.x以后增加了yarn体系。

    hadoop 的集群模式
    hadoop 集群,从细的方面来说,总共分为四种模式:

    Single Node Cluster,即伪分布式模式(单机模式)
    Full Distributed Cluster,即完全分布式集群模式
    HA Cluster,即高可用集群模式
    HA + Federation Cluster,即高可用联邦集群模式
    每一种方式都有其特定的使用场景,但一般数据规模很大的企业,都会选择HA+Federation模式,下面简要地介绍一下每一种模式的情况:

    单机模式,将hadoop安装在一台机器上,通过进程来模拟各主机节点的协作和运行,其可靠性、稳定性都是非常差的,并且具备糟糕的性能效率,没有团队会在生产环境使用它。那么它是否就没有用呢?也不是的,通常使用这种模式进行开发和调试工作。
    完全分布式模式,将hadoop部署在至少两台机子上,数据块副本的数量通常也设置为2以上。该模式的集群,无论规模多大,只拥有1台Namenode节点,且也是唯一Active的工作节点。Namenode(简称NN)相当于hadoop文件系统的管家,对集群的所有文件访问和操作都经由NN统一协调管理。可想,当集群规模越来越庞大时,仅有一台NN,必定是不堪重负,那么它很容易就会挂掉,一旦挂掉,不仅集群立即瘫痪,还很容易造成数据丢失。另外,该模式通常ResourceManager(RM)也仅部署1台,ResourceManager是yarn的管家,主要管理任务的执行,例如MapReduce任务。与NN类似,当集群提交的作业过于繁重时,其同样面临超负载的问题。那么此模式是否也无用武之地呢?也不是的,视业务、资金等情况而定,因为该模式日后也可以安全升级成高可用模式。
    高可用模式,一般来说,分为NN的高可用和RM的高可用。在完全分布式的基础上,增加备用NN和RM节点。NN高可用,也就是集群里面会部署两台NN(最多也只能两台),以形成主备NN节点,达到高可用的目的。RM高可用与NN高可用类似,也是在集群里部署备用RM节点。不过此种模式下集群里面依然只有一台NN/RM处于Active工作状态,另一台则处于Standby的等待状态。当Active的NN/RM出现问题无法工作时,Standby的那台则立即无缝切入,继续保障集群正常运转。这种模式是很多企业都使用的,但是依然有缺陷。什么缺陷呢?虽然集群的可用性问题解决了,但是性能瓶颈依然存在——仅有一台NN/RM,由于无法横向扩展,其很可能会超负载运行。
    高可用联邦模式,解决了单纯HA模式的性能瓶颈。单纯的HA模式NN和RM之间虽然配置了HA,但是依旧仅有一台NN或RM同时运行,这可能会导致了NN或RM的负载过重,从而造成整个集群的性能瓶颈。而联邦模式将整个HA集群再划分为两个以上的集群,不同的集群之间通过Federation进行连接,不同集群间可以共享数据节点,也可以不共享,可以互相访问和操作数据,也可以不。这样便做到了HA集群的横向扩展,从而移除了单纯HA模式同时仅有1台NN/RM工作所带来的性能瓶颈。Federation模式,相当于在多个集群之上又构建了一个集群层次,从数据访问的角度看,也可以简单的将其理解为一台路由器,而每一个HA集群则是单独的网络,不同网络间通过Federation路由器进行沟通。此模式是目前hadoop生态中最高的一种模式,适用于规模较大的企业。
    组件体系
    hadoop
    hdfs
    mapreduce
    yarn
    zookeeper
    hive
    hbase
    sqoop
    pig
    Impala
    dubbo
    kudu
    storm
    kafka
    flume
    elasticsearch elk
    mahout
    ambari
    avro
    cassandra
    chukwa
    tez

    spark
    spark-streaming
    spark-sql
    spark-MLlib

    概念
    hadoop hdfs mapreduce fsimage edits namenode-metadata
    yarn zookeeper
    Namenode Secondary-Namenode Datanode
    ResourceManager(JobTracker)
    NodeManager(TaskTracker)
    ApplicationManager
    ApplicationMaster
    Container
    JobHistoryServer
    JobClient
    JournalNode

    hadoop1.x hadoop2.x HA federation

    转自
    链接:https://www.jianshu.com/p/c3a834e45ae3
    作者:浊流

    如有侵权,请留言给我,删除

    成功没有捷径
  • 相关阅读:
    思念
    空白
    curl json string with variable All In One
    virtual scroll list All In One
    corejs & RegExp error All In One
    socket.io All In One
    vue camelCase vs PascalCase vs kebabcase All In One
    element ui 表单校验,非必填字段校验 All In One
    github 定时任务 UTC 时间不准确 bug All In One
    input range & color picker All In One
  • 原文地址:https://www.cnblogs.com/orpheus89/p/9774400.html
Copyright © 2011-2022 走看看