zoukankan      html  css  js  c++  java
  • Spark学习笔记——在集群上运行Spark

    Spark运行的时候,采用的是主从结构,有一个节点负责中央协调, 调度各个分布式工作节点。这个中央协调节点被称为驱动器( Driver) 节点。与之对应的工作节点被称为执行器( executor) 节点

    所有的 Spark 程序都遵循同样的结构:程序从输入数据创建一系列 RDD, 再使用转化操作派生出新的 RDD,最后使用行动操作收集或存储结果 RDD 中的数据。

    1.驱动器节点:

    Spark 驱动器是执行你的程序中的 main() 方法的进程。它执行用户编写的用来创建 SparkContext、创建 RDD,以及进行 RDD 的转化操作和行动操作的代码。其实,当你启动 Spark shell 时,你就启动了一个 Spark 驱动器程序

    驱动器程序在 Spark 应用中有下述两个职责:1.把用户程序转为任务 2.为执行器节点调度任务

    2.执行器节点:

    Spark 执行器节点是一种工作进程,负责在 Spark 作业中运行任务,任务间相互独立。 Spark 应用启动时, 执行器节点就被同时启动,并且始终伴随着整个 Spark 应用的生命周期而存在。

    执行器进程有两大作用: 第一,它们负责运行组成 Spark 应用的任务,并将结果返回给驱动器进程; 第二,它们通过自身的块管理器(Block Manager)为用户程序中要求缓存的 RDD 提供内存式存储。

    3.集群管理器:

    驱动器节点和执行器节点是如何启动的呢? Spark 依赖于集群管理器来启动执行器节点,而在某些特殊情况下,也依赖集群管理器来启动驱动器节点。

    使用spark-submit部署应用

    一般是在shell脚本中写好,然后运行shell脚本就行了

    spark-submit的详细参数参考 spark-submit使用及说明

    在spark任务中认证

    import org.apache.hadoop.security.UserGroupInformation
    import org.apache.hadoop.conf.Configuration
    System.setProperty("java.security.krb5.conf", "/etc/krb5.conf")
    val configuration = new Configuration()
    configuration.set("hadoop.security.authentication", "Kerberos")
    UserGroupInformation.setConfiguration(configuration)
    UserGroupInformation.loginUserFromKeytab("xxx@XXXX", "xxx.keytab")
    
  • 相关阅读:
    Getting Started with MongoDB (MongoDB Shell Edition)
    Ioc
    BsonDocument
    Find or Query Data with C# Driver
    Insert Data with C# Driver
    Connect to MongoDB
    What's the difference between returning void and returning a Task?
    Import Example Dataset
    jQuery来源学习笔记:整体结构
    Word文件交换的电脑打开字体、排版变化的原因和解决方法!
  • 原文地址:https://www.cnblogs.com/tonglin0325/p/6688720.html
Copyright © 2011-2022 走看看