最近从Hadoop 1.x 转到Hadoop 2.x 同时将一些java 程序转为Scala的程序将平台上的代码减少了很多,在实施的过程中,开到一些Spark相关的YARN的部署上都是基于之前的Hadoop 1.x的部分方式,在Hadoop2.2 +版本之上 基本上就不用这么部署了。其原因就是Hadoop YARN 统一资源管理。

在Spark官网上

Spark应用在集群上以独立的进程集合运行,在你的主程序(称为驱动程序)中以SparkContext对象来调节。 特别的,为了在集群上运行,
SparkContext可以与几个类型的集群管理器(Spark自身单独的集群管理器或者Mesos/YARN)相连接,这些集群管理器可以在应用间分配资源。一旦连接,Spark需要在集群上的线程池子节点,也就是那些执行计算和存储应用数据的工作进程。然后,它将把你的应用代码(以JAR或者Python定义的文件并传送到SparkContext)发送到线程池。最后,SparkContext发送任务让线程池运行。(所以是通过SparkContext发送到其他节点的,在此你只是需要得到SparkContext,就行啦)。
 
 
关于这个架构有几个游泳的地方需要注意:
 
1.各个应用有自己的线程池进程,会在整个应用的运行过程中保持并在多个线程中运行任务。这样做的好处是把应用相互孤立,即在调度方面(各个驱动调度它自己的任务)也在执行方面(不同应用的任务在不同的JVM上运行)。然而,这也意味着若不把数据写到额外的存储系统的话,数据就无法在不同的Spark应用间(SparkContext的实例)共享。
 
2.对于潜在的集群管理器来说,Spark是不可知的。只要它需要线程池的进程和他们间的通信,那么即使是在也支持其他应用的集群管理器(例如,Mesos/YARN)上运行也相对简单。
 
3. 因为驱动在集群上调度任务,它应该运行接近到工作节点,在相同的局域网内更好。如果你想对远程的集群发送请求,较好的选择是为驱动打开一个RPC,让它就近提交操作而不是运行离工作节点很远的驱动。
 
 
 
集群管理类型
 
系统目前支持3中集群管理:
(1)单例模式 一种简单的集群管理,其包括一个很容易搭建集群的Spark
(2) Apache Mesos模式 一种通用的集群管理,可以运行Hadoop MapReduce和服务应用的模式
(3) Hadoop YARN模式 Hadoop 2.0 中的资源管理模式
 
其实,在Amazon EC2(亚马逊弹性计算云)中Spark的EC2启动脚本可以很容易的启动单例模式。
 
给集群发布代码
 
给集群发布代码的一种推荐的方式是通过SparkContext的构造器,这个构造器可以给工作节点生成JAR文件列表(Java/Scala)或者.egg文件和.zip包文件(Python)。你也可以执行SparkContext.addJar和addFile来动态的创建发送文件。
 
 
监控器
 
每个驱动程序有一个Web UI,典型的是在4040端口,你可以看到有关运行的任务,程序和存储空间大小等信息。你可以在浏览器中输入简单的URL方式来访问:http://<驱动节点>::4040.监控器也可以指导描述其它监控信息。(如果你使用的Spark YARN 模式的,只有运行Spark才能看到UI页面,你停止了,log数据就没了,但你可以将log持久化)。
 
任务调度
 
Spark可以通过在应用外(集群管理水平)和应用里(如果在同一个SparkContext中有多个计算指令)资源分配。

【Spark】----Spark on Yarn的更多相关文章

  1. 【原】Spark on YARN

    在YARN上运行Spark 在Spark0.6.0版本开始支持YARN模式,随后的版本在逐渐地完善. 在YARN上启动Spark 确保HADOOP_CONF_DIR或YARN_CONF_DIR属性的值 ...

  2. 【转】Spark on Yarn遇到的几个问题

    本文转自 http://www.cnblogs.com/Scott007/p/3889959.html 1 概述 Spark的on Yarn模式,其资源分配是交给Yarn的ResourceManage ...

  3. 【转】Spark:一个高效的分布式计算系统

    原文地址:http://tech.uc.cn/?p=2116 概述 什么是Spark Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架, ...

  4. 【CDN+】 Spark 的入门学习与运行流程

    前言 上文已经介绍了与Spark 息息相关的MapReduce计算模型,那么相对的Spark的优势在哪,有哪些适合大数据的生态呢? Spark对比MapReduce,Hive引擎,Storm流式计算引 ...

  5. 【Spark】【复习】Spark入门考前概念相关题复习

    Spark考前概念相关题复习 AUthor:萌狼蓝天 哔哩哔哩:萌狼蓝天 博客园:我的文章 - 萌狼蓝天 博客:萌狼工作室 - 萌狼蓝天 (mllt.cc) 选择题 Hadoop 1.HADOOP的三 ...

  6. 【转】Spark History Server 架构原理介绍

    [From]https://blog.csdn.net/u013332124/article/details/88350345 Spark History Server 是spark内置的一个http ...

  7. 【Spark】Spark任务调度相关知识

    文章目录 准备知识 DAG 概述 shuffle 概述 SortShuffleManager 普通机制 bypass机制 Spark任务调度 流程 准备知识 要弄清楚Spark的任务调度流程,就必须要 ...

  8. 【转】Spark源码分析之-scheduler模块

    原文地址:http://jerryshao.me/architecture/2013/04/21/Spark%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90%E4%B9%8B- ...

  9. 【转】Spark源码分析之-deploy模块

    原文地址:http://jerryshao.me/architecture/2013/04/30/Spark%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90%E4%B9%8B- ...

  10. 【转载】Spark学习——入门

    要学习分布式以及数据分析.机器学习之类的,觉得可以通过一些实际的编码项目入手.最近Spark很火,也有不少招聘需要Spark,而且与传统的Hadoop相比,Spark貌似有一些优势.所以就以Spark ...

随机推荐

  1. js遍历jsonTree

    var json = [{tcName:"11", children:[{tcName:"22", children:[{tcName:"33&quo ...

  2. 【实用技巧】取消Win7开机账户的手动选择

    因为前面碰到的一些事情,稍有感慨. 关于win7的一些小技巧都不是什么很有技术含量东西,或者说很浅显.我说一个技巧,也许很多人都知道,也许也早有人说过.但我想说的是我不是在炫耀什么,我只是想分享一些我 ...

  3. WPF 触发器

    属性触发器:数据触发器:事件触发器

  4. zookeeper Watcher API 说明

    Watcher 在 ZooKeeper 是一个核心功能,Watcher 可以监控目录节点的数据变化以及子目录的变化,一旦这些状态发生变化,服务器就会通知所有设置在这个目录节点上的 Watcher,从而 ...

  5. Living one day at a time (update for a long time)

    1, http://acm.hdu.edu.cn/showproblem.php?pid=1228 2014-04-14  10:39:52 分析:字符串处理题... #include<iost ...

  6. Lua截取utf-8编码的中英文混合字符串

    参考博客:UTF8字符串在lua的截取和字数统计[转载] 需求 按字面个数来截取子字符串 函数(字符串, 开始位置, 截取长度) utf8sub(,) = 好1世界哈 utf8sub(,) = 你好1 ...

  7. 算法 - 求两个自然数的最小公倍数(C++)

    //************************************************************************************************** ...

  8. 【原】android本地推送

    android本地推送的实现原理:开启一个BroadcastReceiver和一个AlarmManager,闹钟设置推送唤醒时间,BroadcastReceiver一直在检测是否应该推送. 目前遗留问 ...

  9. 图解 & 深入浅出JavaWeb:事务必会必知

    事务,大家所熟悉的事务(Transcation),基本上会就往Spring事务靠.其实Spring事务管理基于底层数据库本身的事务处理机制.数据库事务的基础,是掌握Spring事务管理的基础.这篇总结 ...

  10. QTP对象管理

    QTP对象库管理 - 动态绑定对象库文件:http://blog.csdn.net/testing_is_ ... le/details/20569843 用ObjectRepositoryUtil动 ...