Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7169866
  • 博文数量: 3857
  • 博客积分: 6409
  • 博客等级: 准将
  • 技术积分: 15948
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-02 16:48
个人简介

迷彩 潜伏 隐蔽 伪装

文章分类

全部博文(3857)

文章存档

2017年(5)

2016年(63)

2015年(927)

2014年(677)

2013年(807)

2012年(1241)

2011年(67)

2010年(7)

2009年(36)

2008年(28)

分类: 大数据

2015-08-03 08:18:19

Spark 集群模式概述

[日期:2015-08-02] 来源:oschina.net  作者:yale8848, Ley [字体:  ]

这篇文章简单回顾下Spark如何在集群上运行,以使其中的组件更易理解。

组件

Spark应用在集群上以独立的进程集合运行,在你的主程序(称作驱动程序)中以SparkContext对象来调节。特别的,为了在集群上运行,SparkContext可以与几个类型的集群管理器(Spark自身单独的集群管理器或者Mesos/YARN)相连接,这些集群管理器可以在应用间分配资源。一旦连接,Spark需要在集群上的线程池子节点,也就是那些执行计算和存储应用数据的工作进程。然后,它将把你的应用代码(以JAR或者Python定义的文件并传送到SparkContext)发送到线程池。最后,SparkContext发送任务让线程池运行。

关于这个架构有几个有用的地方需要注意:

  1. 各个应用有自己的线程池进程,会在整个应用的运行过程中保持并在多个线程中运行任务。这样做的好处是把应用相互孤立,既在调度方面(各个驱动调度它自己的任务)也在执行方面(不同应用的任务在不同的JVM上运行)。然而,这也意味着若不把数据写到额外的存储系统的话,数据就无法在不同的Spark应用间(SparkContext的实例)共享。
  2. 对于潜在的集群管理器来说,Spark是不可知的。只要它需要线程池的进程和它们间的通信,那么即使是在也支持其他应用的集群管理器(例如,Mesos/YARN)上运行也相对简单。
  3. 因为驱动在集群上调度任务,它应该运行接近到工作节点,在相同的局域网内更好。如果你想对远程的集群发送请求,较好的选择是为驱动打开一个RPC,让它就近提交操作而不是运行离工作节点很远的驱动。

集群管理类型 系统目前支持3种集群管理:

其实,在Amazon EC2(亚马逊弹性计算云)中Spark的EC2启动脚本可以很容易的启动单例模式。

给集群发布代码

给集群发布代码的一种推荐的方式是通过SparkContext的构造器,这个构造器可以给工作节点生成JAR文件列表(Java/Scala)或者.egg文件和.zip包文件(Python)。你也可以执行SparkContext.addJar和addFile来动态的创建发送文件。

监控器 每个驱动程序有一个web UI,典型的是在4040端口,你可以看到有关运行的任务、程序和存储空间大小等信息。你可以在浏览器中输入简单的url方式来访问:驱动节点>:4040.监控器也可以指导描述其它监控器信息。

任务调度

Spark可以通过在应用外(集群管理水平)和应用里(如果在同一个SparkContext中有多个计算指令)资源分配。你可以在这里了解更多 任务调度的细节。

词汇表

你将在集群概念中看到下面表中总结的术语:

术语 意思
应用 在Spark上构建的程序. 由驱动程序和子执行集群.
驱动程序 运行man函数的进程,同时也创建SparkContext
集群管理员 在获得资源集群上的扩展服务(举例. 单例模式管理员, Mesos, YARN)
工作员节点 任何在集群中可以运行应用的节点
执行者

在工作员节点中为应用所启动的一个进程,它可以运行任务以及可以在内存或是硬盘中保存数据。每一个应用都有属于自己的执行者

任务 一个可以给执行者发送数据的工作单元
工作 一个由多任务组成的并行计算,并能从Spark动作中获得回应 (举例.保存,收集); 你可以在驱动日志中看到这个术语
阶段 每个工作被分为很多小的任务集合互称为阶段 (和MapReduce中的map和reduce阶段相似); 你可以在驱动日志中看到这个术语

--------------------------------------分割线 --------------------------------------

Spark1.0.0部署指南 

CentOS 6.2(64位)下安装Spark0.8.0详细记录 

Spark简介及其在Ubuntu下的安装使用 

安装Spark集群(在CentOS上) 

Hadoop vs Spark性能对比 

Spark安装与学习 

Spark 并行计算模型 

--------------------------------------分割线 --------------------------------------

Spark 的详细介绍请点这里
Spark 的下载地址请点这里

本文永久更新链接地址

阅读(716) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~