zoukankan      html  css  js  c++  java
  • 运行 Spark on YARN

    运行 Spark on YARN

    Spark 0.6.0 以上的版本添加了在yarn上执行spark application的功能支持,并在之后的版本中持续的
    改进。关于本文的内容是翻译官网的内容,大家也可参考spark的官网地址:http://spark.apache.org/docs/latest/running-on-yarn.html

    1. 在yarn上执行spark

    需要确保提交spark任务的客户端服务器上, HADOOP_CONF_DIR 或者 YARN_CONF_DIR 目录中包含
    hadoop集群的配置文件。这些配置文件被用于读写HDFS和连接yarn 的resourceManager。此目录中包含的配置
    将分发到YARN群集,以便应用程序application使用的所有容器都使用相同的配置。
    如果配置中引用了Java系统属性或未由YARN管理的环境变量,则还应在Spark应用程序的配置(driver, executors, and the AM when running in client mode驱动程序,执行程序和在客户端模式下运行时的AM)中设置它们。

    在yarn上执行sprak 的application有两种部署模式:集群模式和客户端模式。在集群模式下, Spark driver程序在集群上由YARN管理的application master 进程内运行,客户端程序可以在启动应用程序后离开。在客户端模式下,driver程序在客户端进程中运行,application master仅用于从YARN请求资源。

    与Spark独立模式和Mesos模式不同,其中主节点地址在-master参数中指定,在YARN模式下,ResourceManager的地址是从Hadoop配置中选取。 因此,-master的参数值是 yarn。

    在集群模式下执行 Spark application:

    $ ./bin/spark-submit --class path.to.your.Class --master yarn --deploy-mode cluster [options] <app jar> [app options]
    

    示例:

    $ ./bin/spark-submit --class org.apache.spark.examples.SparkPi 
        --master yarn 
        --deploy-mode cluster 
        --driver-memory 4g 
        --executor-memory 2g 
        --executor-cores 1 
        --queue thequeue 
        lib/spark-examples*.jar 
        10
    

    以上操作启动一个YARN client程序 ,这个client请求yarn启动一个默认的Application Master。然后SparkPi将作为Application Master的一个子线程运行。 客户端程序将定期轮询应用程序主控以获取状态更新,并在控制台中显示它们。 应用程序完成运行后,客户端将退出。 请参阅下面的“调试应用程序”部分,了解如何查看驱动程序和执行程序日志。

    在客户端模式下执行 Spark application:

    要在客户端模式下启动Spark应用程序,请执行相同操作,但用client替换cluster。 以下显示了如何在客户端模式下运行spark-shell:

    $ ./bin/spark-shell --master yarn --deploy-mode client
    

    添加spark application 依赖的jar包
    在集群模式下,添加spark application 依赖的jar包*

    $ ./bin/spark-submit --class my.main.Class 
        --master yarn 
        --deploy-mode cluster 
        --jars my-other-jar.jar,my-other-other-jar.jar 
        my-main-jar.jar 
        app_arg1 app_arg2
    
  • 相关阅读:
    ArrayList源码分析_JDK1.8.0_191
    LinkedList源码分析_JDK1.8.0_191
    HashMap源码分析_JDK1.8.0_191
    生产者消费者模型Java实现
    INT整型最小值取负还是本身的问题
    字节跳动面试题
    go sqlx操作数据库问题
    go gin框架调用cmd运行python脚本问题
    Android视频播放不能使用自研播放器
    mac python版本错误问题以及pip版本错误(anacanda)
  • 原文地址:https://www.cnblogs.com/honeybee/p/6227245.html
Copyright © 2011-2022 走看看