美文网首页
Hadoop相关学习笔记

Hadoop相关学习笔记

作者: 咸鱼干lili | 来源:发表于2018-10-17 22:02 被阅读0次

    大数据架构体系结构及开源组件

    Hadoop

    HDFS:大数据存储
    Mapreduce:大数据计算 - 批量计算

    Spark:计算引擎,速度快于Hadoop

    Hbase:存储对形式和格式;查询非常快,与Hive比较

    Zookeeper:管理「小动物」

    Nutch:分布式数据采集

    Storm:内存计算,流式计算

    R

    Hive: 提供交互式查询,基于MapReduce

    Impala: 同交互,速度快于Hive,

    麒麟

    大数据架构体系

    Linux基本操作命令

    cd 绝对路径/相对路径
    cd ./ 当前目录下
    cd ../ 进入当前目录的上一级
    ll (List the list)
    -l 列出数据串
    -a 列出全部文件(包括隐藏文件)
    -d (directory)
    -h 显示文件大小,不同单位 kb、mb
    -R 递归列出
    cp&mv(copy & move相当于剪切和复制操作)
    cp -a file1 file2 连同file1的所有特性把文件复制为file2
    cp file1 file2 dir1 将文件file1、file2复制到dir目录下
    mv -f 强制覆盖(force)
    mv -i 若目标文件存在,就询问是否执行覆盖操作
    rm (remove)参数如下
    -f 强制删除
    -r 递归删除,最常用于目录删除
    -i 互动模式,在删除是会询问用户是否删除
    示例:rm -rf file
    ps & netstat & kill
    netstat 用于查看网络端口状态
    ps 用于把某个时间点的进程运行情况显示出来 ps即process
    kill 用于向某个工作或者某个进程(PID)传递结束信号
    tar 打包压缩,参数如下
    -c 新建打包文件
    -t 查看打包文件的内容包含那些文件名
    -x 解压缩
    -j 通过bzip2进行压缩/解压缩
    -z 通过gzip进行压缩/解压缩

    示例:tar -zxf hadoop-2.7.2.tar.gz hadoop-2.7.2
    备注: pwd 显示当前目录
    clear 清屏
    ls -l 等价于 ll

    Hadoop基础

    Introduction

    Hadoop运行模式

    M/S架构

    • Master:主结点,运行NameNode、ResourceManager服务进程

    • Slave:从节点,运行DataNode,NodeManager服务进程

    服务进程举例

    HDFS架构

    运行模式

    • 单机模式

    • 伪分布模式

    • 分布式模式

    安装

    HDFS

    默认副本:3个
    块Block :128M一个,当一个Block挂掉了,会自动补充到3个
    SecondaryNameNode(SNN): 冷备份

    image

    FS Shell命令介绍

    appendToFile
    cat
    cp
    get
    ls
    mv
    mkdir
    rm

    YARN

    YARN的产生背景

    MRv1

    • 编程模型 map阶段(输入数据解析,再输出到本地(I/O)) 和 reduce阶段

    • 数据处理引擎: MapTask 和 ReduceTask

    • 运行时环境: JobTracker(资源管理和作业控制)和TaskTracker接受JT命令并具体执行(

    • 局限性
      1)扩展性差:(JobTracker兼具资源管理及作业调度,容易负载过大)
      2)可靠性差:(Master/Slave架构中,Master的单点故障)主从架构,主结点故障
      3)资源利用率低:(slot资源分配模型:粗粒度的分配单位,实际用不到一个单位)
      4)无法支持多种计算平台:离线计算

    MRv2

    • 编程模型、数据处理引擎,与MRv1是一样到

    • 运行时环境:YARN(资源管理)和ApplicationMaster(作业控制)(MRv2是运行与YARN之上计算的MapReduce计算框架)

    YARN:支持多种计算框架的资源管理器

    YARN基本架构

    • YARN的基本组成结构(主从架构)

    1) ResourceManager: 全局的资源管理器,负责整个集群的资源管理、分配和调度
    2)Scheduler(调度器):纯调度器、默认下是Fair Scheduler
    3)NodeManager:对每一个Slave上的资源和任务做管理。包括
    i. 定时的向 RM 汇报 HeartBeat(资源的使用情况和 Container 的运行状态)
    ii.接受来自 AM 的启动/停止的请求
    4)Container:动态的资源分配单位(相对于 MRv1 中 Slot)
    5)ApplicationMaster(应用程序管理器):每个APP都会包含一个AM,
    AM的功能包括:

    1. 向RM申请资源(用Container)
    2. 将任务做进一步的分配
    3. 与NM通信启动/体制任务
    4. 跟踪每一个Task的运行状态(包括Failed后的操作)
    YARN的基本组成结构

    • YARN的通信协议
    1. Client 与 RM 通信的协议, ApplicationClientProtocol,作业的提交、应用程序的状态
    2. AM 与 RM 通信协议, ApplicationMasterProtocol, 向 RM 注册 AM,申请资源
    3. AM 与 NM 通信协议, ContainerManagementProtocol,启动/停止 Container
    4. RM 与 NM 通信协议, ResourceTracker,汇报 Slave 节点的资源信息,包括 Container 的状态
    YARN的通信协议

    YARN的工作流程:为不同的计算框架提供统一的资源管理

    短作业:会结束的,例如数据处理

    长作业:不会结束的,例如系统服务

    资源:内存、磁盘、CPU、网络

    具体步骤

    1. 提交任务

    2. RM 与 NM 通信, 申请Container运行AM

    3. AM启动成功后,向RM注册自己

    4. AM申请应用资源

    5. 与NM通信,申请各个作业需对应的Container

    6. 运行作业

    7. 作业结果返回

    8. 注销自己

    YARN的工作流程

    相关文章

      网友评论

          本文标题:Hadoop相关学习笔记

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