为什么我们生产上要选择Spark On Yarn模式?

为什么我们生产上要选择Spark On Yarn?

开发上我们选择local[2]模式
生产上跑任务Job,我们选择Spark On Yarn模式 ,

将Spark Application部署到yarn中,有如下优点:

1.部署Application和服务更加方便

  • 只需要yarn服务,包括Spark,Storm在内的多种应用程序不要要自带服务,它们经由客户端提交后,由yarn提供的分布式缓存机制分发到各个计算节点上。

2.资源隔离机制

  • yarn只负责资源的管理和调度,完全由用户和自己决定在yarn集群上运行哪种服务和Applicatioin,所以在yarn上有可能同时运行多个同类的服务和Application。Yarn利用Cgroups实现资源的隔离,用户在开发新的服务或者Application时,不用担心资源隔离方面的问题。

3.资源弹性管理

  • Yarn可以通过队列的方式,管理同时运行在yarn集群种的多个服务,可根据不同类型的应用程序压力情况,调整对应的资源使用量,实现资源弹性管理。

Spark On Yarn有两种模式,一种是cluster模式,一种是client模式。

运行client模式:

  • “./spark-shell –master yarn”
  • “./spark-shell –master yarn-client”
  • “./spark-shell –master yarn –deploy-mode client”

运行的是cluster模式

  • “./spark-shell –master yarn-cluster”
  • “./spark-shell –master yarn –deploy-mode cluster”

client和cluster模式的主要区别:a. client的driver是运行在客户端进程中b. cluster的driver是运行在Application Master之中

你可能感兴趣的:(大数据)