Spark官方文档——独立集群模式(Standalone Mode)
除了部署在Mesos之上, Spark也支持独立部署模式,包括一个Spark master进程和多个 Spark worker进程.独立部署模式可以运行在单机上作为测试之用,也可以部署在集群上.如果你打算部署在集群上,可以使用我们提供的部署脚本启动一个集群。
现在开始吧
使用sbt package对进行编译,可以参考开始指南。如果打算部署单独模式,就不需要安装Mesos.
手动方式启动集群
通过如下命令启动单独模式的master服务:
./runspark.deploy.master.Master
一旦启动,master就会输出spark://IP:PORT以提示连接 workers 的方式。也可以通过参数“master”给SparkContext来连接集群的作业.你可以在master的web管理界面上看到这样的地址,默认是http://localhost:8080。
同样,你可以启动一个或者多个worker,通过下面的语句使之和master建立连接。:
./runspark.deploy.worker.Worker spark://IP:PORT
启动一个worker后,查看 master的 web管理界面 (默认http://localhost:8080),上面列出了新近加入的节点的CPU和内存的信息。(不包括给操作系统预留的内存空间)。
Finally, the following configuration options can be passed to the masterand worker:
|
参数 |
含义 |
|
-i IP, --ip IP |
要监听的IP地址或者 DNS 机器名 |
|
-p PORT, --port PORT |
要监听的端口 (默认: master 7077 ;worker随机) |
|
--webui-port PORT |
web UI端口 (默认: master 8080, worker 8081) |
|
-c CORES, --cores CORES |
作业可用的CPU内核数量(默认: 所有可用); 只在worker上。 |
|
-m MEM, --memory MEM |
作业可使用的内存容量,默认格式1000M或者 2G (默认: 所有RAM去掉给操作系统用的1 GB); 只在worker上。 |
|
-d DIR, --work-dir DIR |
伸缩空间和日志输入的目录路径 (默认: SPARK_HOME/work); 只在worker上。 |
集群启动脚本
启动单独模式的集群时,首先在Spark的目录内建立一个配置文件conf/slaves,列出所有worker机器的机器名,每一个占一行。Master必须能够实现无密码的ssh登录worker机器,可以使用ssh locakhost来测试。
然后,就可以在SPARK_HOME/bin路径下执行shell脚本,以启动或者停止集群。
l bin/start-master.sh - Starts amaster instance on the machine the script is executed on.
l bin/start-slaves.sh - Starts aslave instance on each machine specified in the conf/slaves file.
l bin/start-all.sh - Starts botha master and a number of slaves as described above.
l bin/stop-master.sh - Stops themaster that was started via the bin/start-master.sh script.
l bin/stop-slaves.sh - Stops theslave instances that were started via bin/start-slaves.sh.
l bin/stop-all.sh - Stops boththe master and the slaves as described above.
注意:只能在运行Spark的master主机上执行上述脚本,而不是你的本地机器。
你可以通过conf/spark-env.sh进一步配置整个集群的环境变量。这个文件可以用conf/spark-env.sh.template当模版复制生成。然后,复制到所有的worker机器上才奏效。下面给出一些可选的参数以及含义:
|
环境变量 |
含义 |
|
SPARK_MASTER_IP |
绑定一个外部IP给master |
|
SPARK_MASTER_PORT |
从另外一个端口启动master(默认: 7077) |
|
SPARK_MASTER_WEBUI_PORT |
Master的web UI端口 (默认: 8080) |
|
SPARK_WORKER_PORT |
启动Spark worker 的专用端口(默认:随机) |
|
SPARK_WORKER_DIR |
伸缩空间和日志输入的目录路径 (默认: SPARK_HOME/work); |
|
SPARK_WORKER_CORES |
作业可用的CPU内核数量(默认: 所有可用的); |
|
SPARK_WORKER_MEMORY |
作业可使用的内存容量,默认格式1000M或者 2G (默认: 所有RAM去掉给操作系统用的1 GB);注意:每个作业自己的内存空间由SPARK_MEM决定。 |
|
SPARK_WORKER_WEBUI_PORT |
worker 的web UI 启动端口(默认: 8081) |
|
SPARK_DAEMON_MEMORY |
分配给Spark master和 worker 守护进程的内存空间 (默认: 512m) |
|
SPARK_DAEMON_JAVA_OPTS |
Spark master 和 worker守护进程的JVM 选项(默认: none) |
提交作业到集群
运行一个作业在Spark集群上,只需要发送连接master的spark://IP:PORT到SparkContext构造器.
执行下列命令可以在集群上运行一个交互式的Spark shell:
MASTER=spark://IP:PORT./spark-shell
作业调度
单独部署模式目前只支持FIFO作业调度策略。不过,为了允许作业的并发执行,可以控制每一个作业可获得资源的最大值。默认情况下,如果系统中只有一个作业,它就会获得所有资源。使用类似System.setProperty("spark.cores.max","10")的语句可以获得内核的数量。这个数值在初始化SparkContext之前必须设置好。
监控和日志
Spark单独部署模式提供了一个基于WEB的集群监视器。master和每一个worker都会有一个WEB UI来显示集群的统计信息。默认情况下,可以通过8080端口访问master的WEB UI。当然也可以通过配置文件或者命令来修改这个端口值。
In addition, detailed log output for each job is also written to the workdirectory of each slave node (SPARK_HOME/work by default). You will see two files for each job, with all output itwrote to its console.
另外,每个slave节点上作业运行的日志也会详细的记录到默认的SPARK_HOME/work目录下。每个作业会对应两个文件,stdout和stderr,包含了控制台上的所有的历史输出。
和Hadoop同时运行
作为一个独立的服务,可以和现有的Hadoop集群同时运行。
通过hdfs:// URL,Spark可以访问hadoop集群的HDFS上的数据。(比如地址可以写成hdfs://<namenode>:9000/path,从Namenode的web UI可以获得更确切的URL).或者,专门为Spark搭建一个集群,通过网络访问其他HDFS上的数据,这样肯定不如访问本地数据速度快,除非是都在同一个局域网内。(比如几台Spark机器和Hadoop集群在同一机架上)。
Spark官方文档——独立集群模式(Standalone Mode)的更多相关文章
- Spark官方文档 - 中文翻译
Spark官方文档 - 中文翻译 Spark版本:1.6.0 转载请注明出处:http://www.cnblogs.com/BYRans/ 1 概述(Overview) 2 引入Spark(Linki ...
- spark 官方文档(1)——提交应用程序
Spark版本:1.6.2 spark-submit提供了在所有集群平台提交应用的统一接口,你不需要因为平台的迁移改变配置.Spark支持三种集群:Standalone.Apache Mesos和Ha ...
- Spark 官方文档(2)——集群模式
Spark版本:1.6.2 简介:本文档简短的介绍了spark如何在集群中运行,便于理解spark相关组件.可以通过阅读应用提交文档了解如何在集群中提交应用. 组件 spark应用程序通过主程序的Sp ...
- 【译】Spark官方文档——编程指南
本文翻自官方博客,略有添加:https://github.com/mesos/spark/wiki/Spark-Programming-Guide Spark发指南 从高的面看,其实每一个Spark的 ...
- 《Spark 官方文档》在Mesos上运行Spark
本文转自:http://ifeve.com/spark-mesos-spark/ 在Mesos上运行Spark Spark可以在由Apache Mesos 管理的硬件集群中运行. 在Mesos集群中使 ...
- spark api之一:Spark官方文档 - 中文翻译
转载请注明出处:http://www.cnblogs.com/BYRans/ 1 概述(Overview) 2 引入Spark(Linking with Spark) 3 初始化Spark(Initi ...
- Spark 官方文档(5)——Spark SQL,DataFrames和Datasets 指南
Spark版本:1.6.2 概览 Spark SQL用于处理结构化数据,与Spark RDD API不同,它提供更多关于数据结构信息和计算任务运行信息的接口,Spark SQL内部使用这些额外的信息完 ...
- Spark 官方文档(4)——Configuration配置
Spark可以通过三种方式配置系统: 通过SparkConf对象, 或者Java系统属性配置Spark的应用参数 通过每个节点上的conf/spark-env.sh脚本为每台机器配置环境变量 通过lo ...
- 《Spark 官方文档》机器学习库(MLlib)指南
spark-2.0.2 机器学习库(MLlib)指南 MLlib是Spark的机器学习(ML)库.旨在简化机器学习的工程实践工作,并方便扩展到更大规模.MLlib由一些通用的学习算法和工具组成,包括分 ...
随机推荐
- php读取目录及子目录下所有文件名的方法
本文实例讲述了php读取目录及子目录下所有文件名的方法,分享给大家供大家参考.具体实现方法如下: 一般来说php中读取目录下的文件名的方式确实不少,最简单的是scandir,具体代码如下: $dir= ...
- Linux-服务排查
root用户下,操作以下5步: 1.查网络,保证本机与对方互相通信 ifconfig ipconfig ping 2.查Linux的对应服务是否启动,使服务的status保持running状态 比如s ...
- python-appium手机自动化测试(仅需安装包)前期准备(pydev-eclipse编辑器)
1.jdk安装与环境变量配置教程http://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html 我本机安装的是1.6.043 2.sdk下 ...
- PL/0与Pascal-S编译器程序详细注释
学校编译课的作业之一,要求阅读两个较为简单的编译器的代码并做注释, 个人感觉是一次挺有意义的锻炼, 将自己的心得分享出来与一同在进步的同学们分享. 今后有时间再做进一步的更新和总结,其中可能有不少错误 ...
- svn提交自动同步到web目录
环境:CentOS6.5 测试线 svn和web服务器在同一台机器上 SVN版本1.6 情景:在测试环境下,开发部提出希望提交到SVN的代码能自动同步到WEB站点目录下,解决每次都要传双份这 ...
- 利用Meida Service的Java SDK来调用Azure Media Services的Index V2实现视频字幕自动识别
Azure Media Services新的Index V2 支持自动将视频文件中的语音自动识别成字幕文件WebVtt,非常方便的就可以跟Azure Media Player集成,将一个原来没字幕的视 ...
- 解决在 使用 AjaxFileUploder 插件时,不能获取返回的 json 结果数据
在MVC 项目 中使用 AjaxFileUploader 这个插件时,在上传图片或文件时,在控制器中返回的是 json数据,可是在 ie,或 googleChrome 浏览器中却出现 返回的json ...
- javascript各种兼容性问题,不断更新
ie6-ie8 不支持textContent支持innerTextchrome 支持textContent innerTextfireFox 仅支持textContent不支持innerTe ...
- BZOJ1029 建筑抢修
Description 小刚在玩JSOI提供的一个称之为"建筑抢修"的电脑游戏:经过了一场激烈的战斗,T部落消灭了所有z部落的入侵者.但是T部落的基地里已经有N个建筑设施受到了严重 ...
- SQL:每年每月最高的两个温度
SET QUOTED_IDENTIFIER ONGO CREATE TABLE [dbo].[Temperature]( [ID] [int] IDENTITY(1,1) NOT NULL, [Mon ...