Spark 官方文档(2)——集群模式
Spark版本:1.6.2 简介:本文档简短的介绍了spark如何在集群中运行,便于理解spark相关组件。可以通过阅读应用提交文档了解如何在集群中提交应用。
组件
spark应用程序通过主程序的SparkContext对象进行协调,在集群上通过一系列独立的处理流程运行。
为了便于迁移,SparkContext可以支持多种类型的集群管理器(spark standalone、Yarn、Mesos)。当与集群管理器创建连接后,spark在集群的节点上面申请executors,用于处理应用程序中的计算任务和数据存储。然后executors将一个用的代码发送到各个executors,最后SparkContext发送tasks到各个executor执行。
关于spark架构有一些内容需要指出:
- 每个应用都有自己的executor,他们会在应用程序的整个生命周期内一直存活,这样有利于应用间调度和executor的隔离。但这样也就意味着不同应用之间只能通过外部存储系统进行沟通。
- Spark对于底层的集群管理系统并不知晓,他们能在不同集群上进行资源申请,并提供一致的接口进行通信和计算处理。
- 在应用的整个生命周期内,Driver程序需要监听和接受executors的信息,因此driver程序对于worker节点来说要可以通过网络寻址定位的。
- 由于Driver程序调度集群上面的任务,因而driver最好与worker在同一个网段运行,若远程执行最好开通RPC。
集群类型
目前Spark支持以下三种集群管理:
- Standalone —— spark自带的集群管理器
- Apache Mesos —— 一种可以运行Hadoop Mapreduce的通用集群管理
- Hadoop Yarn —— Hadoop2的集群管理 除此之外,Spark Ec2脚本可以在Amazon EC2上面运行spark standalone模式。
提交应用
通过spark-submit在集群上提交应用程序
监控
每个驱动程序都有一个web UI进行监控,默认端口是4040,展示了正在运行的task、executors和storage usage。通过http://<driver-node>:4040可以对应用程序进行监控。监控界面简介
作业调度
Spark可以通过代码进行应用内和应用间的集群管理级别的资源分配。作业监控进行了详细介绍。
相关术语
下面对集群中常用的术语进行了介绍:
| 术语 | 解释 |
|---|---|
| Application | 用户基于Spark创建的应用程序,包含一个Driver程序和集群上一系列的executor |
| Application jar | 用户程序的jar包,需要包含第三方依赖,但不应该包含spark库,这些应该在集群环境中运行时提供 |
| Driver program | 运行main函数、创建SparkContext的程序 |
| Cluster manager | 申请集群资源的额外的管理器 |
| Deploy mode | 区分Driver运行的位置,若是cluster则驱动程序在集群内的节点上运行,若是client则驱动程序在集群外节点运行 |
| Worker node | 集群中可以进行计算的节点 |
| Executor | 应用在工作节点上的执行器,运行程序同时存储数据。每个应用有自己的executor |
| Task | Executor内部执行计算的单元 |
| Job | 由Action引起的多个task并行的计算单元,可以在driver日志查看 |
| Stage | 每个Job被划分为task,然后根据情况合并为stage |
Spark 官方文档(2)——集群模式的更多相关文章
- 转载-lvs官方文档-LVS集群中的IP负载均衡技术
章文嵩(wensong@linux-vs.org) 2002 年 4 月 本文在分析服务器集群实现虚拟网络服务的相关技术上,详细描述了LVS集群中实现的三种IP负载均衡技术(VS/NAT.VS/TUN ...
- 转载-lvs官方文档04-LVS集群的负载调度
LVS集群的负载调度 章文嵩 (wensong@linux-vs.org) 2002 年 5 月 本文主要讲述了LVS集群的IP负载均衡软件IPVS在内核中实现的各种连接调度算法.针对请求的服务时间变 ...
- W3School Redis教程(安装/基本操作/高级操作/命令/官方文档/官方集群教程)
说明:Redis有自身的客户端连接软件,也可以使用Telnet进行连接操作. 来自W3School的Redis教程,基本上涵盖了从安装到状态监控的教程. W3School:https://www.gi ...
- 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官方文档——编程指南
本文翻自官方博客,略有添加: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官方文档——独立集群模式(Standalone Mode)
除了部署在Mesos之上, Spark也支持独立部署模式,包括一个Spark master进程和多个 Spark worker进程.独立部署模式可以运行在单机上作为测试之用,也可以部署在集群上.如果你 ...
随机推荐
- .数据库连接池技术:DBCP和C3P0
数据库连接池技术:DBCP和C3P0 1.什么是数据库连接池 已知的方法是需要访问数据库的时候进行一次数据库的连接,对数据库操作完之后再释放这个连接,通常这样业务是缺点很明显的: 用户每次请求都需要向 ...
- HTMl5的存储方式sessionStorage和localStorage详解
html5中的Web Storage包括了两种存储方式:sessionStorage和localStorage.sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有 ...
- 类EF框架Chloe.ORM升级:只为更完美
扯淡 Chloe.ORM:一款轻量.高效的.NET C#数据库访问框架(ORM).查询接口借鉴 Linq(但不支持 Linq).借助 lambda 表达式,可以完全用面向对象的方式就能轻松执行多表连接 ...
- Spark MLlib - LFW
val path = "/usr/data/lfw-a/*" val rdd = sc.wholeTextFiles(path) val first = rdd.first pri ...
- 高介分类:核方法与支持向量机(SVM)
数据模型:并不是简单地二维数据,多个维度或者对象的数据聚合起来 { persion1's attr1:value1,...,persion1's attrN:va ...
- java 分页功能
1.分页工具类 package com.bw.shop.util; import java.util.List; import com.sun.org.apache.regexp.internal.r ...
- tomcat启动报错: org.apache.catalina.deploy.WebXml addFilter
解决方法为:在Tomacat7的context.xml文件里的<Context>中加上<Loader delegate="true" />
- haproxy利用ACL规则封禁自定义IP地址拒绝访问
现在有一个需求就是在发版的时候希望除公司IP外的外网访问服务的时候都是拒绝访问的 现在利用haproxy 的acl规则作出限制 errorfile 403 /etc/haproxy/err ...
- 【配置】检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(非简单设置为【经典】模式)。
× 检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(非简单设置为[经典]模式). 我们将ASP.NET程序从IIS6移植到IIS7,可能运行提示以下错误: HTTP 错误 5 ...
- static实现单例的隐患
1. 前言 Java的单例有多种实现方式:单线程下的简单版本.无法在指令重排序下正常工作的Double-Check.static.内部类+static.枚举--.这篇文章要讨论的,是在使用static ...