zoukankan      html  css  js  c++  java
  • 在Yarn上运行spark-shell和spark-sql命令行

    转载自:http://lxw1234.com/archives/2015/08/448.htm

    如果你已经有一个正常运行的Hadoop Yarn环境,那么只需要下载相应版本的Spark,解压之后做为Spark客户端即可。

    需要配置Yarn的配置文件目录,export HADOOP_CONF_DIR=/etc/hadoop/conf 这个可以配置在spark-env.sh中。

    运行命令:

    cd $SPARK_HOME/bin
    ./spark-shell 
    --master yarn-client 
    --executor-memory 1G 
    --num-executors 10

    注意,这里的–master必须使用yarn-client模式,如果指定yarn-cluster,则会报错:

    Error: Cluster deploy mode is not applicable to Spark shells.

    因为spark-shell作为一个与用户交互的命令行,必须将Driver运行在本地,而不是yarn上。

    其中的参数与提交Spark应用程序到yarn上用法一样。

    启动之后,在命令行看上去和standalone模式下的无异:
    这里写图片描述
    在ResourceManager的WEB页面上,看到了该应用程序(spark-shell是被当做一个长服务的应用程序运行在yarn上):
    这里写图片描述
    点击ApplicationMaster的UI,进入到了Spark应用程序监控的WEB页面:
    这里写图片描述
    spark-sql On Yarn

    spark-sql命令行运行在yarn上,原理和spark-shell on yarn一样。只不过需要将Hive使用的相关包都加到Spark环境变量。

    1. 将hive-site.xml拷贝到$SPARK_HOME/conf

    2.export HIVE_HOME=/usr/local/apache-hive-0.13.1-bin 添加到spark-env.sh

    3.将以下jar包添加到Spark环境变量:

    datanucleus-api-jdo-3.2.6.jar、datanucleus-core-3.2.10.jar、datanucleus-rdbms-3.2.9.jar、mysql-connector-java-5.1.15-bin.jar

    可以在spark-env.sh中直接添加到SPARK_CLASSPATH变量中。

    运行命令:

    cd $SPARK_HOME/bin
    ./spark-sql 
    --master yarn-client 
    --executor-memory 1G 
    --num-executors 10

    即可在yarn上运行spark-sql命令行。
    这里写图片描述
    在ResourceManager上的显示以及点击ApplicationMaster进去Spark的WEB UI,与spark-shell无异。
    这里写图片描述
    这样,只要之前有使用Hadoop Yarn,那么就不需要搭建standalone的Spark集群,也能发挥Spark的强大威力了。

  • 相关阅读:
    Jmeter+maven+Jenkins构建云性能测试平台(mark 推荐)
    Jenkins配置自动化构建
    跟我学Shiro---无状态 Web 应用集成
    Tomcat下部署多个项目
    Guava 教程1-使用 Google Collections,Guava,static imports 编写漂亮代码
    Spring-security-Oauth2.0
    OAuth2
    从产品角度看,怎样的知识付费才是用户要的?
    REST API 基于ACCESS TOKEN 的权限解决方案
    一个想法照进现实-《IT连》创业项目:关于团队组建
  • 原文地址:https://www.cnblogs.com/ggzone/p/5094469.html
Copyright © 2011-2022 走看看