2025-09-20
Spark
00

RDD创建

在Spark中创建RDD的创建方式可以分为四种

1. 从集合(内存)中创建RDD

从集合中创建 RDD,Spark 主要提供了两个方法:parallelize 和 makeRDD

scala
val sparkConf = new SparkConf().setMaster("local[*]").setAppName("spark") val sparkContext = new SparkContext(sparkConf) val rdd1 = sparkContext.parallelize( List(1,2,3,4) ) val rdd2 = sparkContext.makeRDD( List(1,2,3,4) ) rdd1.collect().foreach(println) rdd2.collect().foreach(println) sparkContext.stop()
2025-09-20
Hadoop
00

  1. Client 向 ResourceManager 提交 YARN Application。
  2. ResourceManger 初始化 (Start) Container。在 NodeManger 的协助下启动 (launch) Container。若首次启动,Container 包含 ApplicationMaster。
  3. ApplicationMaster 计算资源够不够?如果够,则运行任务。
  4. 如果资源不够,ApplicationMaster 向 ResourceManager 申请资源。
  5. ApplicationMaster 拿到资源后,开始启动 Container。在 NodeManger 的协助下启动 Container,Application 运行。
2025-09-20
Hadoop
00

HDFS的读流程

  1. 客户端调用 DistributeFileSystem 对象的 open() 方法打开要读取的文件。
  2. DistributeFileSystem 向 NameNode 发起 RPC 调用,得到文件的数据块信息,返回数据节点列表。对于每个数据块,NameNode 返回该数据块的 DataNode 地址。
  3. DistributeFileSystem 返回一个 FSDataInputStrem 对象给客户端,客户端调用 FSDataInputStrem 对象的 read() 方法开始读取数据。
  4. 通过对数据流反复调用 read() 方法,把数据从数据节点传输到客户端。
  5. 当一个数据块的数据读取完毕时,DFSInputStrem 对象关闭与此数据节点的连接,连接文件的下一个数据块的最近数据节点。
  6. 当文件的数据读取完时,客户端调用 DistributeFileSystem 对象的 close() 方法关闭文件输入流对象。
2025-09-20
Hadoop
00

准备

安装包准备

Ambari2.7.5、HDP3.1.5、libtirpc-devel:

链接: https://pan.baidu.com/s/1J1H4gUnEt204nNBOzlGLIg?pwd=1024

提取码: 1024

jdk1.8:

链接: https://pan.baidu.com/s/1ac5iuH4gVyopn3LuC5QWyQ?pwd=1024

提取码: 1024

pssh-2.3.1:

链接: https://pan.baidu.com/s/11erMCZsYVjJSvyM1f_6Oiw?pwd=1024

提取码: 1024

maven-3.8.3:

链接: https://pan.baidu.com/s/17aeb2PY6Ie24QdOhv8c42w?pwd=1024

提取码: 1024

centos7操作系统:

链接: https://pan.baidu.com/s/1A7tE0P10n0ebC1zVu4sOiQ?pwd=1024

提取码: 1024

2025-09-20
Hadoop
00

YARN架构概述

它由Container、ResourceManger、NodeManager、ApplicationMaster几个主要部分组成。

  1. Container(容器)

    YARN中的资源包括内存、CPU、磁盘输入/输出等。Contianer是YARN中的资源抽象,它封装了某个节点上的多维资源。YARN会为每个任务分配Container。