zoukankan      html  css  js  c++  java
  • 对大数据简单生态的部分认知随笔

    YARN架构

    一: 1 RM(ResourceManager) + N NM (NodeManager)

    ResourceManager的职责:一个集群active状态的RM只有一个, 负责整个集群的资源管理和调度1)处理客户端的请求(启动/杀死)

    2)启动/监控ApplicationMaster(一个作业对应一个AM)

    3)监控NM

    4)系统的资源分配和调度

    二: NodeManager:整个集群中有N个,负责单个节点的资源管理和使用以及task的运行情况

    1)定期向RM汇报本节点的资源使用请求和各个Container的运行状态

    2)接收并处理RM的container启停的各种命令

    3)单个节点的资源管理和任务管理

    三: ApplicationMaster:每个应用/作业对应一个,负责应用程序的管理1)数据切分

    2)为应用程序向RM申请资源( container),并分配给内部任务3)与NM通信以启停task, task是运行在container中的

    1. task的 监控和容错

    四: Container:

    对任务运行情况的描述: cpu、 memory、 环境变量

    YARN执行流程

    1)用户向YARN提交作业

    1. RM为该作业分配第一个container(AM)

    2. RM会与对应的NM通信,要求NM在这个container.上启动应用程序的AM4) AM首 先向RM注册,然后AM将为各个任务申请资源,并监控运行情况5) AM采用轮训的方式通过RPC协议向RM申请和领取资源

    3. AM申请到资源以后,便和相应的NM通信,要求NM启动任务

    7)NM启动我们作业对应的task


    Hive 的概念

    通常用于进行离线数据处理(采用MapReduce )

    底层支持多种不同的执行引|擎

    支持多种不同的压缩格式、存储格式以及自定义函数

    Hive底层的执行引擎有:

    MapReduce、Tez、SparkHive on MapReduce

    Hive onTez

    Hive on Spark

    压缩: GZIP. LZ0. Snappy BZIP2 .

    存储: TextFile. SequenceFile RCFile. ORC. Parquet

    UDF:自定义函数

    Hive的优点

    简单、容易上手(提供了类似SQL查询语言HQL)

    为超大数据集设计的计算/存储扩展能力(MR计算, HDFS存储)

    统一的元数据管理(可与Presto/Impala/SparkSQL等共享数据)


    Spark生态圈的概述

    http://spark.apache.org/ 官网首页描述对spark的概述

    speed

    Ease of Use

    Generality

    Runs Everywhere

    MapReduce的局限性:

    1)代码繁琐;

    2)只能够支持map和reduce方法;3)执行效率低下;

    4)不适合迭代多次、交互式、流式的处理;

    框架多样化:

    1)批处理(离线) : MapReduce、Hive、 Pig2)流式处理(实时) : Storm、 JStorm

    3)交互式计算: Impala

    spark 对比hadoop生态系统 : BDAS

    BDAS

    BDAS

    Spark对比hadoop

    hadoop 对比 Spark BDAS

    spark对比Hadoop : MapReduce对比Spark


    源码搭建Spark

    两种方式的编译

    mvn

    看看官网

    编译中的坑

    ./dev/make-distribution.sh

    --name custom-spark --pip --r

    --tgz -Psparkr -Phadoop-2.7

    -Phive -Phive-thriftserver

    -Pmesos -Pyarn -Pkubernetes

    1. 注意内存

    2. 注意maven库

    3. 编译scala的版本

    -X 看最详细的编译信息

    -U强制忽略maven库报错

    编译出来的tag包拿出来

    local模式

    解压包 到bin目录ls 看一下

    OK可以直接使用了

    启动一下

    ./bin/spark-shell --master local[2]

    自己支持的集群

    Spark Standalone

    sbin一般放的是服务相关的 bin一般是客户端相关的

    spark-env.sh

    需要设置Standalone 这个

    Spark Standalone 模式的架构和hadoop和yarn的模式基本一样的

    需要设置master_host

    core

    memory

    实例等

    slave 一个master 可以对应 多个worker

  • 相关阅读:
    SWFObject2.0
    年轻人买房的问题
    百度知道的php爬虫
    PHP解决多进程同时读写一个…
    php快速定位多维数组的深度
    不要用充实的借口去浪费时间
    php跨服务器信息获取之cURL
    为你的生命多积累一些厚度
    看完一定让你很受益!
    phpQuery轻松采集网页内容
  • 原文地址:https://www.cnblogs.com/zhuhuibiao/p/13275099.html
Copyright © 2011-2022 走看看