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

  • 相关阅读:
    hiveserver2 with kerberos authentication
    python Basic usage
    python Quicksort demo
    Python HeapSort
    mrunit for wordcount demo
    CCDH证书
    Hadoop question list
    Hadoop Yarn core concepts
    Hadoop Resource
    Hadoop could not find or load main class
  • 原文地址:https://www.cnblogs.com/zhuhuibiao/p/13275099.html
Copyright © 2011-2022 走看看