hadoop概念

  • 分布式:
    整个业务拆解多个业务由不同机器实现
  • 集群:

    • 多个机器通过网络连接,每台机器做一样的工作
  • 怎么跟小白讲呢:从前有个餐厅只有一个厨师,做买菜,洗菜,炒菜

    • 客户多了,招多了一个厨师做一样的事,两个厨师就是集群
    • 随着客户减少招多了几个厨师就分为了几局部,1个做买菜,1个做洗菜,1个做炒菜 , 分布式
    • 而炒菜1个不够,招多了1个,2个炒菜徒弟就是分布式中的集群
  • 负载平衡

    • 正当分配任务,让所有机器在一个正当范畴内实现,若呈现某些机子实现迟缓要及时批改任务分配
  • hadoop

    • 1.hdfs 海量数据存储
    • 2.mapreduce 分布式计算框架,剖析解决
    • 3.yarn 对立的资源调度平台,集群资源进行治理(spark)
  • 性质

    • 扩容能力,集群可扩大到上万台
    • 成本低,对服务器单台性能要求不高
    • 高效率,节点数量多,能够独特承载并发操作
    • 可靠性,在hadoop中数据都是存在备份的
  • 元数据:形容数据的数据,如地位,名字,大小等

架构

1.x

  • ,namenode与jobtracker仅一个 弊病:1.单节点故障问题;2.jobtracker工作量太高;3.mapreduce集群资源分配后只能运行mapreduce程序,无奈运行其余的计算工作

    • hdfs

      • namenode hdfs集群主节点 1.存储元数据(形容数据的数据),2.治理从节点,3.负责数据读写操作
      • dataanode(出磁盘) hdfs集群从节点: 1.负责数据理论存储,2.和namenode放弃心跳连贯
      • secondarynode辅助节点:辅助hadoop中元数据信息的辅助治理,namenode元数据是须要长久化,每次重启将上一次editlog的数据合并到fsimage中,而secondarynamenode就是用来帮助实现这项工作
    • mapreduce

      • jobtracker: mapreduce集群主节点 1.接管计算工作,2.分配任务给tasktracker,工作最终由tasktracker实现,3.分配资源
      • tasktracker(出内存和cpu): mapreduce集群从节点 1.接管主节点调配过去的工作, 2.依据资源要求,启动执行工作 3.将执行工作的后果交给jobtracker
    • 补充:windows中的删除其实是删除元数据,内容是没有删除的

2.x

  • hdfs集群

    • namenode
    • secondnamenode
    • datanode
  • yarn(对立的资源调度平台),反对除了mr以外的计算工作,只有这个计算工作须要资源,都能够部署在yarn平台上(yarn调度接口)

    • resourceManager

      • 接管计算工作,启动一个applicationmaster,负责管理工作
      • 负责资源分配调度
    • appMaster:每个工作都对应一个appmaster

      • 负责工作的全生命周期
      • 任务分配
      • 向主机申请资源
      • 负责连贯nodemanager启动工作
    • nodeManager

      • 启动appmaster
      • 接管appmaster调配的工作
      • 执行工作与appmaster放弃通信,并且与主机放弃通信

高可用版本2.x,能够只对hdfs高可用,hdfs与yarn是独立的,jdk1.7

  • hdfs

    • namenode 能够有两个,主备构造namenode(active) namenode(standby),与zookeeper的连贯称为zkfc,借助zookeeper进行主节点确定与宕机治理,没有snn

      • 当两个namenode存储的元数据信息不统一就呈现脑裂问题,因而诞生了journalnode(多台形成集群),用于同步元数据,(为什么不必zookeeeper同步呢?)答:因为zookeeper有只反对体积很小的文件系统,不适用于大体积信息的同步,zookeeper真正的作用是检测active主节点的状态,宕机则代替
  • yarn

    • rescourceManager可有多个,对外提供服务的仅一台active,与zookeeper的连贯称为zkfc
    • journalnode 文件系统元数据信息管理,个别是奇数个

3.x jdk1.8 与2.x区别

  • hdfs

    • namenode 能够有多个
    • 3.0以前每份数据存份,3.0引入纠错编码0.5冗余校验数据存储形式+源文件
    • 扭转最大的是hdfs 通过最近block块计算,依据最近计算准则,本地block块,退出到内存,先计算,通过IO,共享内存计算区域,最初疾速造成计算结果,比Spark快10倍

4.1 部署模式

  • Standalone mode(独立模式)
  • 伪分布式:在一个机器中,将Hadoop 集群中各个节点运行在一个服务器测试
  • Cluster mode(群集模式):会应用N台主机组成一个Hadoop集群。这种部署模式下,主节点和从节点会离开部署在不同的机器上