在集群上运行spark app

本节内容简单介绍怎么在集群上运行spark 应用程序

1.spark 运行时架构

在集群模式下 ,spark 是采用的主从结构,一个中央协调节点被称为驱动器driver ,多个工作节点被成为执行器 executor  。分别对应多个java 进程,,driver & executor 一起被称为一个spark 应用

spark 应用通过一个叫集群管理器的外部服务来启动  也就是我们熟悉的 standalong  & Yarn  Mesos  and so on

Spark 驱动器是执行应用程序中main 方法的进程,它执行用户编写的用来创建SparkContext 创建 RDD 以及进行RDD 转换和行动操作的codes

驱动器程序在spark 中的主要作用 :

把用户程序转化为任务

为执行器节点调度任务


执行器进程的主要作用 :

他们负责运行组成spark 应用的任务 , 并将结果返回driver 进程

通过自身的块管理器 block manager  为用户程序中要求缓存的RDD提供内存式存储

在本地模式下 spark 驱动程序和执行程序在同一个java 进程中运行


2.使用spark-submit 部署

for Example ,更详细的参数请参考官网

bin/spark-submit my_script.py


./bin/spark-submit

--master spark://hostname:7077

--deploy-mode cluster

--class com.databricks.example.sarpkexample

--name "example program"

--jars de1.jar .de2.jar

--total-executor-cores 300

--executor-memory 10g

myapp.jar "options" "to your application " "go there"


export HADOOP_CONF_DIR=/opt/hadoop/conf

./bin/spark-submit

--master yarn

--py-files files.py

--deploy-mode client

--name example

--queue examplequeue

--num-executors 40

--executor-memory 10g

my_scripty.py



3.集群管理器

posted @ 2016-10-08 11:21  yuerspring  阅读(281)  评论(0编辑  收藏  举报