zoukankan      html  css  js  c++  java
  • 部署spark 1.3.1 standalong模式

    之前已经写过很多次部署spark 的博客,但是之前部署都是照瓢画葫芦,不得其中的细节,并且以前都是部署spark on yarn

    部署环境

    scala 2.10.2,jdk 1.6,spark 版本1.3.1 下载地址:https://spark.apache.org/downloads.html

    两台ubuntu14.04 x64桌面版,其中ubuntu1 做master , ubuntu2 做slave,

     spark 版本为 1.3.1

    部署spark 前,首先要做的配置两台机器的信任关系安装jdk安装scala,设置好环境变量JAVA_HOME SCALA_HOME

    开始部署(需要同时对两台机器执行)

    1 对spark-1.3.1-bin-hadoop2.6.tgz 进行解压,解压地址为 /opt/spark-1.3.1-bin-hadoop2.6

    tar -zxvf /opt/spark-1.3.1-bin-hadoop2.6.tgz

     2 配置spark-env.sh

    拷贝spark-env.sh 模版(其实里面什么也没有,都是注释)

    cp /opt/spark-1.3.1-bin-hadoop2.6/conf/spark-env.sh.template /opt/spark-1.3.1-bin-hadoop2.6/conf/spark-env.sh

    给spark-env.sh 增加参数

    SPARK_MASTER_PORT="7800"
    SPARK_MASTER_WEBUI_PORT="8010"
    SPARK_CLASSPATH="/opt/sequoiadb/java/sequoiadb.jar:/opt/sequoiadb/spark/spark-sequoiadb_2.10-1.12.jar"
    SPARK_MASTER_IP="ubuntu1"
    SPARK_WORKER_INSTANCES="3"
    MASTER="spark://${SPARK_MASTER_IP}:${SPARK_MASTER_PORT}" # 更改spark
    -master-rest 的端口 SPARK_MASTER_OPTS="-Dspark.master.rest.port=7000" SPARK_WORKER_MEMORY="40g" SPARK_WORKER_CORES=10
    export JAVA_HOME="/opt/jdk1.6.0_45"

    我来简单解释一下,有些参数可能我理解得不对,如果有误,请大家指出,谢谢!

    SPARK_MASTER_PORT  指定 spark master 的启动端口,默认为 7077
    SPARK_MASTER_IP 指定spark 集群的master ip 地址,主要是让各个worker 知道master 在哪里
    SPARK_WORKER_INSTANCES 指定每台机器启动多少个worker,worker 越多,计算并发能力越强,资源的使用率越高(但是过多worker也容易将机器跑死)
    SPARK_MASTER_WEBUI_PORT 指定 spark master 的web ui 端口,就是后续从web 端查看spark 执行任务情况的端口号,默认为8080
    SPARK_CLASSPATH 增加spark 运行时依赖的jar 包,由于我这里是对SequoiaDB 进行对接,所以这里填写了sdb 的驱动。 如果大家对如何对接SequoiaDB,可以移步到 http://www.sequoiadb.com/cn/document/1.12/integration/spark_integration/installation/topics/install_by_manual.html
    SPARK_MASTER_OPTS 增加 jvm 运行时的参数,这里主要是指定了 master 的rest 端口,默认是6066
    SPARK_WORKER_MEMORY 指定Worker 最大的存储大小
    SPARK_WORKER_CORES 指定每个Worker 最多可以拥有CPU 核数
    export JAVA_HOME="/opt/jdk1.6.0_45" 这句是写明JAVA_HOME 在哪里(虽然我在env 里设置了,但是它就是会出现莫名奇怪的错误,所以我干脆设置它)


    3 指定slave

    拷贝slave 模版文件

    cp /opt/spark-1.3.1-bin-hadoop2.6/conf/slaves.template /opt/spark-1.3.1-bin-hadoop2.6/conf/slaves

    往里面增加slave 的hostname

    ubuntu2

    4 修改log4j 配置文件

    cp conf/log4j.properties.template conf/log4j.properties

    将里面的配置修改为WARN,避免运行时输出太多信息

    log4j.rootCategory=WARN, console
    log4j.logger.org.apache.spark.repl.SparkIMain$exprTyper=WARN
    log4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter=WARN

    5 启动spark

    /opt/spark-1.3.1-bin-hadoop2.6/sbin/start-all.sh

     启动后可以通过浏览器查看spark 的状况,例如:http://192.168.231.135:8010/

    这样我们就正确部署好standalone版本的spark 了

  • 相关阅读:
    MapReduce程序遇见java.net.UnknownHostException
    吐槽下《Hadoop权威指南(第二版)》的翻译
    HFileOutputFormat与TotalOrderPartitioner
    关于hive multi group by的疑惑
    Hive解决 java.io.IOException:SerDeException:LazySimpleSerDe
    一个字符编码引发的血案
    CSS颜色代码大全
    C#中ParameterizedThreadStart和ThreadStart区别
    Sql Server REPLACE函数的使用
    QueryString的用法
  • 原文地址:https://www.cnblogs.com/chenfool/p/4501556.html
Copyright © 2011-2022 走看看