Spark的部署和应用方式
一、Spark三种部署方式
Spark支持三种不同类型的部署方式,包括:
(1)Standalone(类似于MapReduce1.0,slot为资源分配单位)
(2)Spark on Mesos(和Spark有血缘关系,更好支持Mesos)
(3)Spark on YARN


二、从Hadoop+Storm架构转向Spark架构
1、Hadoop+Storm部署

批量数据处理:MapRecude、Pig、Hive
数据流实时处理:Storm
实时查询:NoSql数据库
缺点:
各种应用场景需要部署多种产品来协同完成,资源成本高,多种产品间数据交换效率低。
1.4关于storm计算结果的存放问题
很多人在刚刚学习Storm 的时候都会有这个问题:storm处理后的结果保存在哪里? 内存中?还是其他地方?
官方解释说: Storm是不负责保存计算结果的,这是应用程序里需要负责的事情,如果数据不大,你可以简单地保存在内存里,也可以每次都更新数据库,也可以采用NoSQL存储。storm并没有像s4 那样提供一个PersistAPI,根据时间或者容量来做存储输出。这部分事情完全交给用户。数据存储之后的展现,也是你需要自己处理的,storm UI只提供对topology 的监控和统计。
2、SPark部署

用Spark架构具有如下优点:
(1)实现一键式安装和配置、线程级别的任务监控和告警
(2)降低硬件集群、软件维护、任务监控和应用开发的难度
(3)便于做成统一的硬件、计算平台资源池
需要说明的是,Spark Streaming无法实现毫秒级的流计算,因此,对于需要毫秒级实时响应的企业应用而言,仍然需要采用流计算框架(如Storm)
3、Hadoop和Spark的统一部署
由于Hadoop生态系统中的一些组件所实现的功能,目前还是无法由Spark取代的,比如,Storm
现有的Hadoop组件开发的应用,完全转移到Spark上需要一定的成本
不同的计算框架统一运行在YARN中,可以带来如下好处:
(1)计算资源按需伸缩
(2)不用负载应用混搭,集群利用率高
(3)共享底层存储,避免数据跨集群迁移

浙公网安备 33010602011771号