WindTom 技术、生活

learning spark

2016-09-18

图1

因为有RDD的抽象概念,spark更适合于迭代运算比较多的ML和DM运算,提供了多种数据操作模型,但是由于RDD的特性,Spark不适用于异步细粒度更新状态的应用,比如Web服务的存储或或者是增量的Web爬虫和索引。

部署方式

目前spark支持四种分布式部署方式,分别为:amazon ec2、standalone、spark on mesos、spark on YARN。

Amazon ec2模式需要运行在amazon ec2上,一般可以不关注。

standalone模式自带完整服务,可单独部署到一个集群上,无需以来其他资源管理系统。

spark on mesos模式是很多公司采用的模式,也是官方推荐的模式。目前spark运行在mesos上要比在YARN上更加灵活。目前在Spark on mesos环境中,用户可以选择两种调度模式:1)粗粒度模式(Coarse-grained Mode);2)细粒度模式(Fine-grained Mode)。

1)粗粒度模式

任务运行之前分配资源(内存、CPU等),运行时一直占用这些资源,结束后才回收。资源浪费严重。

2)细粒度模式

资源按需、动态分配。优点是便于资源控制和隔离,缺点是段作业运行延迟大。

Spark On YARN模式是一种最有前景的部署模式,但限于YARN自身的发展,目前仅支持粗粒度模式,不过这个已经在YARN的开发计划中了




Comments