美文网首页我爱编程
Hadoop相关笔记

Hadoop相关笔记

作者: 我叫了了 | 来源:发表于2018-03-10 16:06 被阅读27次

    HDFS

    hadoop
    NameNode
    • 负责客户端请求的相应
    • 负责维护元数据 文件的名称、副本数、Block存放的DataNode,接受DN的心跳包
    • 一个典型的架构是一个NN加上n个DN。当然一个机器上可以运行多个DN,但生产环境上不建议这样使用
      -NN决定副本的复制
    DataDode
    • 存储用户的文件的数据块 Block
    • 定期向NameNode发送心跳信息,汇报本身及其所有的Block信息、健康状况
    • 不支持并发写
    HDFS副本机制
    • NN维护一个文件系统的命名空间,做了任何修改都会被记录下来(比如改名字)
    • 可以指定文件的副本数量,创建的时候可以指定,后期也可以修改,这些信息都被存放在NN上
    • 每个block都是以多副本的方式存储
    • 一个文件里的所有Block除了最后一个,其他的大小都是一样的
    • HDFS里面的文件只能写一次(write once)
      SecondNameNode
    • 了解,在2.x中不是必须的


      hadoop
    HDFS核心配置文件
    • hadoop-env.sh
    • core-site.xml
    • hdfs-site.xml
    HDFS启动与停止
    • 目录结构,bin文件夹下是客户端相关的脚本,sbin文件夹下是服务端的相关脚本
    • 官网
    HDFS Shell 常用命令

    HDFS 优缺点

    • 优点:高容错、批处理(吞吐量高)、适合大数据处理 、可以部署在廉价的机器上
    • 缺点:低延迟数据访问、不适合小文件存储(可以借助Hbase)

    MapReduce

    • 目前应用场景特别少,被spark代替
    • 不擅长DAG作业(逻辑先后关系)、实时计算、流式计算

    YARN

    • 产生背景,在MapReduce1.X中Jobtrack负责资源管理和任务的调度,TaskTrack和JobTrack通过心跳通信,Jobtrack负责的事情特别多而且单点,所以Jobtrack存在单点故障,
    • 资源利用率和运维成本,统一资源管理,yarn上可以管理storm,spark,Habase等等

    YARN的架构

    yarn
    • Resource Manager 和 Node Manager ,一个RM(active)加上n个NM

    • Resource Manager 负责整个集群的资源调度,接受客户端请求

    • 一个任务对应用一个Application Master ,如果AM挂了,会自动在其他节点重启,由RM启动、杀死、监控。

    • NM会定期向RM发送心跳并告诉RM资源使用情况

    • NM负责自己节点的资源管理以及task运行情况,并向RM汇报,NM会接受RM的调度,启动、停止

    • 一个Application Master 可能又多个Container运行,他负责应用程序的管理,为应用程序向RM申请资源,并分配内部任务,与NM通信启停task,task是运行在Container中的,同样负责task的监控和容错

    • Container 是对任务的描述 :cpu、memory、环境变量

    工作流程
    yarn

    1,用户向YARN提交作业
    2,RM为作业分配一个container(AM)
    3,RM会与对应的NM通讯,要求NM在container上启动应用程序的AM
    4,AM首先向RM注册,然后AM将为各个任务申请资源,并监控运行情况
    5,AM会采用轮训的方式通过RPC协议向RM申请和领取资源
    6,AM申请到资源后,便和NM通讯,要求NM启动任务
    7, NM启动作业的task

    Hive

    • Hive是由Facebook开源的,构建在Hadoop之上,Hive定义了一种类SQL -> HQL。
    • 通常用于离线批处理,早起底层用MapReduce进行计算,现在支持多种计算引擎(Spark)
    • Hive支持多种不同的压缩格式以及自定义函数
    • Hive的元数据可以存放在Mysql中的(表名,分隔符)
    产生背景
    • MapReduce编程的不便性
    • HDFS上文件缺少Schema
    优点
    • 简单、容易上手
    • 为超大数据集的计算、存储扩展能力
    • 统一的元数据管理、可以共享数据(SparkSQL)
    • 可以提交到Yarn上
    基本使用

    相关文章

      网友评论

        本文标题:Hadoop相关笔记

        本文链接:https://www.haomeiwen.com/subject/tbzvfftx.html