Spark 官方文档(3)——Standalone 模式
来源:互联网 发布:linux改环境变量 编辑:程序博客网 时间:2024/06/05 04:57
Spark版本:1.6.2
Spark除了支持Mesos和Yarn集群管理,还提供了一种standalone简单的部署模式。你可以手动启动一个master和多个worker构建standalone集群或者通过Spark官方脚本(后面详细介绍)启动。standalone可以在单台机器运行。
在集群上安装Spark Standalone
在集群的每个节点安装同一版本的spark程序,用户可以下载Spark官方release版本或者自己进行编译。
手动启动集群
你可以通过以下脚本启动master节点程序:
./sbin/start-master.sh
启动后,master会输出spark://HOST: PORT URL,可以用于连接worker节点。你也可以在master的web UI管理节点查看该网址,默认是http://localhost:8080。
类似的,也要启动worker节点并连接到master节点,如下所示:
./sbin/start-slave.sh <master-spark-URL>
一旦启动worker节点后,可以通过web UI查看worker节点的CPU和内存等信息。最后列出可以对master或worker传入的配置参数:
集群启动脚本
使用脚本启动standalone集群前,需要在conf目录下创建slaves文件,并将集群内所有worker的hostname写入该文件,一行一个。若该文件不存在,则启动脚本默认使用一台机器启动。由于master与worker通信基于ssh,需要配置无密码访问。也可以设置 SPARK_SSH_FOREGROUND变量(yes 或者no),若是yes则需要在前端分别设置worker密码。
当你设置玩slaves文件后,可以使用SPARK_HOME/sbin目录下的各个脚本启停集群:
- sbin/start-master.sh - Starts a master instance on the machine the script is executed on.
- sbin/start-slaves.sh - Starts a slave instance on each machine specified in the conf/slaves file.
- sbin/start-slave.sh - Starts a slave instance on the machine the script is executed on.
- sbin/start-all.sh - Starts both a master and a number of slaves as described above.
- sbin/stop-master.sh - Stops the master that was started via the bin/start-master.sh script.
- sbin/stop-slaves.sh - Stops all slave instances on the machines specified in the conf/slaves file.
- sbin/stop-all.sh - Stops both the master and the slaves as described above.
以上脚本需要在master节点执行。用户可以通过conf/spark-env.sh设置集群环境变量,并拷贝到所有worker节点,设置包括以下内容:
SPARK_MASTER_OPTS支持以下系统属性
SPARK_WORKER_OPTS支持以下系统属性
连接集群
可以通过SparkContext设置master或通过脚本连接Spark集群,若使用交互shell连接,命令如下 ./bin/spark-shell --master spark://IP:PORT
同时可以指定–total-executor-cores \
启动Spark应用
spark-submit脚本用于想spark集群提交应用。对于standalone集群支持两种deploy模式。client模式下,driver和应用提交客户端在同一个进程中;cluster模式driver在某个worker上面执行。若使用Spark submit提交应用,driver在某个worker上面执行,通过–jars指定依赖的jar包。当指定–supervise时,集群在spark应用返回值非0时自动重新启动。可以通过以下命令kill一个应用
./bin/spark-class org.apache.spark.deploy.Client kill <master url> <driver ID>
监控和日志
Spark提供web界面监控集群上面的应用程序,包括集群和job的统计信息。默认端口号是8080,可以自行配置。默认的job日志输出到每个slave节点的SPARK_HOME/work下。
HA 高可用
由于master有可能存在单点故障,若master宕机,则集群不可用,默认两种高可用的解决方案:
基于ZooKeeper的备用Master
同时启动多个master连接同一个ZooKeeper实例,ZooKeeper会选举一个座位leader。当Zookeeper发觉leader不可用时,自动进行切换。由于集群的信息,包括Worker, Driver和Application的信息都已经持久化到文件系统,因此在切换的过程中只会影响新Job的提交,对于正在进行的Job没有任何的影响。加入ZooKeeper的集群整体架构如下图所示。相关配置如下
基于文件系统的单点恢复
主要用于开发或测试环境。当spark提供目录保存spark Application和worker的注册信息,并将他们的恢复状态写入该目录中,这时,一旦Master发生故障,就可以通过重新启动Master进程(sbin/start-master.sh),恢复已运行的spark Application和worker的注册信息。
基于文件系统的单点恢复,主要是在spark-env里对SPARK_DAEMON_JAVA_OPTS设置:
- Spark 官方文档(3)——Standalone 模式
- Spark 官方文档(3)——Standalone 模式
- Spark 官方文档(2)——集群模式
- spark standalone模式配置
- Spark standalone模式安装
- Spark Standalone模式
- 安装spark - standalone模式
- Spark Standalone模式部署
- spark standalone&&yarn模式
- Spark开发-Standalone模式
- Spark Standalone模式搭建
- Spark修炼之道(高级篇)——Spark源码阅读:第十节 Standalone运行模式解析
- 【译】Spark官方文档——Spark Configuration(Spark配置)
- 【译】Spark官方文档——Spark Configuration(Spark配置)
- spark 官方文档(1)——提交应用程序
- Spark 官方文档(4)——Configuration配置
- Spark 官方文档(4)——Configuration配置
- Spark 官方文档翻译——《Spark编译》
- Objective-C(十二、快速枚举,枚举器NSEnumerator和集合类NSSet)——iOS开发基础
- 本地,怎么把自己做的html页面放到某个域下呢?
- Selenium2 入门[4] —— 点击被页面上其他元素遮住的控件
- 算法学习(一):递归与分治策略(1)
- 模糊控制里面隶属函数
- Spark 官方文档(3)——Standalone 模式
- C语言位运算
- HTTP状态码大全
- Ajax请求Session超时问题
- Linux环境上Redis的安装和配置
- 云计算的三种服务模式:IaaS,PaaS和SaaS
- 一名程序媛的IT资源整理
- TabLayout选项卡
- 良好性能和高质量视觉效果