• Spark 1.0.0 横空出世 Spark on Yarn 部署(Hadoop 2.4)


    就在昨天,北京时间5月30日20点多。Spark 1.0.0最终公布了:Spark 1.0.0 released

    依据官网描写叙述,Spark 1.0.0支持SQL编写:Spark SQL Programming Guide

    个人认为这个功能对Hive的市场的影响非常小。但对Shark冲击非常大。就像win7和winXP的关系,自相残杀嘛? 

    这么着急的公布1.x 版是商业行为还是货真价实的体现,让我们拭目以待吧~~~~

    本文是CSDN-撸大湿原创,如要转载请注明出处,谢谢:http://blog.csdn.net/tntzbzc/article/details/27817189

    进入今天的正题:Spark 1.x onYarn (Hadoop 2.4)


    源代码编译

    我的測试环境:

    • 系统:Centos 6.4 - 64位
    • Java:1.7.45
    • Scala:2.10.4
    • Hadoop:2.4.0 社区版

    Spark 1.0.0 源代码地址:http://d3kbcqa49mib13.cloudfront.net/spark-1.0.0.tgz

    解压源代码,在根去根文件夹下运行下面命令(sbt编译我没尝试)

    ./make-distribution.sh --hadoop 2.4.0 --with-yarn --tgz --with-hive

    几个重要參数

    --hadoop :指定Hadoop版本号 

    --with-yarn yarn支持是必须的

    --with-hive 读取hive数据也是必须的,反正我非常讨厌Shark,以后开发们能够在Spark上自己封装SQL&HQLclient。也是个不错的选择。


    #      --tgz: Additionally creates spark-$VERSION-bin.tar.gz
    #      --hadoop VERSION: Builds against specified version of Hadoop.
    #      --with-yarn: Enables support for Hadoop YARN.
    #      --with-hive: Enable support for reading Hive tables.
    #      --name: A moniker for the release target. Defaults to the Hadoop verison.

    不想自己编译的话直接下载二进制包吧:

    Spark 1.0.0 on Hadoop 1 / CDH3, CDH4 二进制包:http://d3kbcqa49mib13.cloudfront.net/spark-1.0.0-bin-hadoop1.tgz

    Spark 1.0.0 on Hadoop 2 / CDH5, HDP2 二进制包:http://d3kbcqa49mib13.cloudfront.net/spark-1.0.0-bin-hadoop2.tgz

      

    进过漫长的等待。在源代码跟文件夹下会生成一个tgz压缩包     


    把这个包copy到你想部署的文件夹并解压。

    特别注意:仅仅须要把解压包copy到yarn集群中的随意一台。一个节点就够了,不须要在全部节点都部署。除非你须要多个Client节点调用spark作业。

    在这里我们不须要搭建独立的Spark集群,利用Yarn Client调用Hadoop集群的计算资源。

    mv 解压后的文件夹/conf/spark-env.sh.template 解压后的文件夹/conf/spark-env.sh

    编辑spark-env.sh


    export HADOOP_HOME=/opt/hadoop
    export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
    SPARK_EXECUTOR_INSTANCES=4
    SPARK_EXECUTOR_CORES=1
    SPARK_EXECUTOR_MEMORY=1G
    SPARK_DRIVER_MEMORY=2G
    SPARK_YARN_APP_NAME="Spark 1.0.0"

    这是我的配置,配置和之前的几个版本号略有不同,但大差不差。


    用Yarn Client调用一下MR中的经典样例:Spark版的word count

    这里要特别注意。SparkContext有变动。之前版本号wordcount样例中的的第一个參数要去掉。

    为了方便。我把 SPARK_HOME/lib/spark-assembly-1.0.0-hadoop2.4.0.jar 复制到了HDFS中进行调用。(直接调用本地磁盘也是能够的)


    SPARK_JAR="hdfs://master001.bj:9000/jar/spark/spark-assembly-1.0.0-hadoop2.4.0.jar" 
    ./bin/spark-class org.apache.spark.deploy.yarn.Client 
    --jar ./lib/spark-examples-1.0.0-hadoop2.4.0.jar 
    --class org.apache.spark.examples.JavaWordCount 
    --args hdfs://master001.bj:9000/temp/read.txt 
    --num-executors 50 
    --executor-cores 1 
    --driver-memory 2048M 
    --executor-memory 1000M 
    --name "word count on spark"

    执行结果在stdout中查看




    速度还行吧,用6台节点/50个core计算4.3GB文件,用时31秒。

    今天就到这吧,有时间还的把那篇神经网络继续写下去,下次再见

  • 相关阅读:
    Win32 程序开发入门:一个最简单的Win32程序
    DirectShow 进行视频预览和录制
    DirectShow 获取音视频输入设备列表
    (原)关于人民币找零钱的问题
    (转)The C10K problem翻译
    (原)kenel开机logo的制作
    (原)关于udp的socket发送数据耗时的问题探讨
    (转)x264的一些参数设置对编码效率的影响
    (原)关于获取ffmpeg解析rtsp流sdp中带有sps,pps的情况
    (转)java 层调用Jni(Ndk) 持久化c c++ 对象
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5084045.html
Copyright © 2020-2023  润新知