之前已经写过很多次部署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.-bin-hadoop2..tgz

2 配置spark-env.sh

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

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

给spark-env.sh 增加参数

SPARK_MASTER_PORT=""
SPARK_MASTER_WEBUI_PORT=""
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.-bin-hadoop2./conf/slaves.template /opt/spark-1.3.-bin-hadoop2./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.-bin-hadoop2./sbin/start-all.sh

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

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

部署spark 1.3.1 standalong模式的更多相关文章

  1. spark 源码编译 standalone 模式部署

    本文介绍如何编译 spark 的源码,并且用 standalone 的方式在单机上部署 spark. 步骤如下: 1. 下载 spark 并且解压 本文选择 spark 的最新版本 2.2.0 (20 ...

  2. Spark internal - 多样化的运行模式(上)

    Spark的运行模式多种多样,在单机上既可以以本地模式运行,也可以以伪分布式模式运行.而当以分布式的方式运行在Cluster集群中时,底层的资源调度可以使用Mesos 或者是Hadoop Yarn , ...

  3. 2 Spark角色介绍及运行模式

    第2章 Spark角色介绍及运行模式 2.1 集群角色 从物理部署层面上来看,Spark主要分为两种类型的节点,Master节点和Worker节点:Master节点主要运行集群管理器的中心化部分,所承 ...

  4. 使用docker安装部署Spark集群来训练CNN(含Python实例)

    使用docker安装部署Spark集群来训练CNN(含Python实例) http://blog.csdn.net/cyh_24/article/details/49683221 实验室有4台神服务器 ...

  5. Spark进阶之路-Standalone模式搭建

    Spark进阶之路-Standalone模式搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Spark的集群的准备环境 1>.master节点信息(s101) 2&g ...

  6. 06、部署Spark程序到集群上运行

    06.部署Spark程序到集群上运行 6.1 修改程序代码 修改文件加载路径 在spark集群上执行程序时,如果加载文件需要确保路径是所有节点能否访问到的路径,因此通常是hdfs路径地址.所以需要修改 ...

  7. 使用Cloudera Manager部署Spark服务

    使用Cloudera Manager部署Spark服务 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 1>.点击添加服务进入CM服务安装向导 2>.选择需要安装的spa ...

  8. 小记--------spark的两种提交模式

    spark的两种提交模式:yarn-cluster . yarn-client 图解

  9. 大话Spark(5)-三图详述Spark Standalone/Client/Cluster运行模式

    之前在 大话Spark(2)里讲过Spark Yarn-Client的运行模式,有同学反馈与Cluster模式没有对比, 这里我重新整理了三张图分别看下Standalone,Yarn-Client 和 ...

随机推荐

  1. XML 解析错误:找不到根元素

    大家在开发web项目的过程中,可能会遇到“XML 解析错误:找不到根元素”这么一个问题,引起这个问题的原因可能有很多种,在这儿我只是跟大家分享一下我遇到一种情况. 1.项目背景描述 extjs 结合a ...

  2. redis的主从复制和哨兵支持的主从切换

    1 主从复制的目的是为了读写分离 master写,然后同步到slave,slave只管读. 2 哨兵存在的目的 是为了主从切换,如果master挂了,那么一个slave成为master,重启之后的ma ...

  3. mongodb学习之:GridFS

    GridFS是一种在Mongodb中存储大二进制文件的机制.GridFS 用于存储和恢复那些超过16M(BSON文件限制)的文件(如:图片.音频.视频等). 使用GridFS有如下几个原因: 1 利用 ...

  4. xcode7和ios9下UIWebView不能加载网页的解决方法

    错误描述: App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecu ...

  5. Vue实战指南之依赖注入(provide / inject)

    案例 UI美眉说咱家的选项菜单太丑了,小哥哥能不能美化一下呀,洒家自然是说小意思啦~自定义一个select组件,so easy~ 简单粗暴型: <el-select v-model=" ...

  6. html5--5-14 阶段小练习:绘制太极图案

    html5--5-14 阶段小练习:绘制太极图案 学习要点 运用前几节课的知识完成一个小练习 这个图案有多种不同的绘制方法,这里只做一个简单的演示,练习的时候可以自己思考一下,尝试其他的方法,或者对这 ...

  7. swoole异步redis安装前置条件和流程

    ---恢复内容开始--- 1.redis服务 确认redis在服务器中已经安装了 2.hiredis库 第二步安装hiredis 下载位置 2.1获取 安装包https://github.com/re ...

  8. Unable to resolve target 'android-16'

    Just now when I imported the "android-support-v7-appcompat" to ADT,the console pointed out ...

  9. Gym101161:ACM Tax (主席树)(占位)

    题意:给定一个带权树,Q次询问,每次回答某简单路径上的权值中位数. 思路:记录根到节点的主席树,主席树可以找到路径的第K大权值.(记住,这里是可以不用二分的,不要想多了.) 奇数条边直接找中位数,偶数 ...

  10. codevs 1046 旅行家的预算

    传送门 1046 旅行家的预算 1999年NOIP全国联赛普及组NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold题解   题目描述 Des ...