Hadoop学习笔记(基于《10小时入门大数据》)

Hadoop学习笔记(基于《10小时入门大数据》)
  • HDFS
  • YARN
  • MapReduce
  • 搭建实战
HDFS
  1. 定义
    在这里插入图片描述

  2. 设计目标
    在这里插入图片描述

  3. 架构
    在这里插入图片描述

  4. 安装HDFS

    1. 下载安装jdk(这里就不赘述了)
    2. 下载CDH(https://archive.cloudera.com/cdh5/cdh/5)
    3. 解压: tar -zxvf * -C <yourpath>/
    4. 修改配置:
      1. 进入你的安装目录的etc/hadoop下,修改4个文件:core-site.xml、hdf-site.xml、hadoop-env.sh、slaves(具体配置看官网指引)
      2. 特别注意core-site.xml的配置,添加hadoop的临时文件目录值:hadoop.tmp.dir
    5. 格式化namenode: bin/hdfs namenode -format
    6. 启动HDFS: sbin/start-dfs.sh
    7. 验证是否启动成功:
      • jps
        9496 SecondaryNameNode
        9099 NameNode
        10139 Jps
        9245 DataNode
      • 浏览器
        localhost:50070
  5. HDFS读写流程
    在这里插入图片描述


    • 在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    • 在这里插入图片描述
  6. HDFS容错
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  7. HDFS副本集策略
    在这里插入图片描述

  8. HDFS优缺点

  • 优点
    • 数据冗余、硬件容错
    • 处理流式的数据访问
    • 适合存储大文件
    • 可构建在廉价机器上
  • 缺点
    • 低延迟的数据访问
    • 小文件存储
YARN
  1. YARN产生背景
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  2. YARN概述

  • Yet Another Resource Negotiator
  • 通用的资源管理系统
  • 为上层应用提供统一的资源管理和调度
  1. YARN的架构
    在这里插入图片描述

    1. ResourceManager:RM
      • 整个集群统一时间提供服务的RM只有一个,负责集群资源的统一管理和调度
      • 处理客户端的请求: 提交一个作业、杀死一个作业
      • 监控NM,一旦某个NM挂了,那么该NM上运行的任务需要告诉AM
    2. NodeManager:NM
      • 整个集群中有多个,负责自己本身节点资源管理和使用
      • 定时向RM汇报本节点的资源使用情况
      • 接收并处理来自RM的各种命令: 启动Container
      • 处理来自AM的命令
    3. ApplicationMaster:AM
      • 每个应用程序对应一个: MR、Spark,负责应用程序的管理
      • 为应用程序向RM申请资源(Core、Memory),分配给内部task
      • 需要与NM通信:启动/停止task,task是运行在Container里面,AM也是运行在Container
    4. Container
      • 封装了CPU、Memory等资源的一个容器
    5. Client
      • 提交作业
      • 查询作业的运行进度
      • 杀死作业
  2. YARN执行流程
    在这里插入图片描述

  3. YARN环境搭建

    1. 进入你的安装目录的etc/hadoop下,修改2个文件:
      mapred-site.xml、yarn-site.xml(具体配置看官网指引)

    2. 验证是否启动成功:

      • jps
        3649 NodeManager
        4069 Jps
        3545 ResourceManager
      • 浏览器
        localhost:8088
  4. 提交作业到YARN
    进入share/hadoop/mapreduce目录,执行hadoop jar hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar pi 2 3

MapReduce
  1. 概述

    • 源于Google的MapReduce论文, 论文发表于2004年12月
    • Hadoop MapReduce是Google MapReduce的克隆版
    • MapReduce优点:海量数据离线处理&易开发&易运行
    • MapReduce缺点:实时流式计
  2. 案例
    在这里插入图片描述

  3. MapReduce的架构

    • 1.x

      1. JobTracker: JT

        • 作业的管理者
        • 将作业分解成一堆的任务: Task(MapTask和ReduceTask)
        • 将任务分派给TaskTracker运行
        • 作业的监控、容错处理(task作业挂了,重启task的机制)
        • 在一定的时间间隔,JT没有收到TT的心跳信息,TT可能是挂了,TT上的任务会被指派到其他的TT上去执行
      2. TaskTracker: TT

        • 任务的执行者
        • 在TT上执行Task(MapTask和ReduceTask)
        • 会与JT进行交互:执行/启动/停止作业,发送心跳信息给JT
      3. MapTask

        • 自己开发的map任务交由该Task出来
        • 解析每条记录的数据,交给自己的map方法处理
        • 将map的输出结果写到本地磁盘(有些作业仅有map没有reduce==>HDFS)
      4. ReduceTask

        • 将MapTask输出的数据进行读取
        • 按照数据进行分组传给自己编写的reduce方法处理
        • 输出结果写到HDFS
    • 2.x
      在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值