Spark1.1.1官网文档翻译1前言部分
2014-12-19 13:46
295 查看
地址:spark.apache.org/docs/latest/index.html
关于环境
Spark可以运行在Windows和所有类Linux操作系统之上(比如Linux和MacOS)可以很简单的进行单机运行,只要你的机子里面装好了java环境,配置好了PATH和JAVA_HOME变量
Spark1.1运行在java6以上版本,Python2.6以上版本,以及Scala2.10以上的版本中
程序的启动和运行
Spark自带了很多Scala、java、Python示例,在example/src/main目录下,运行方式是
/run-example <class> [params]
例如:./bin/run-exampleSparkPi 10
也可以使用scala shell来进行后台程序的交互
./bin/spark-shell --master local[2]
--master 选项用于设置一个本地或者是集群的方式进行程序的启动,你可以使用local作为测试,local
等于使用N个线程进行运行,更多的选项,请参考--help选项
Spark也使用pythonAPI,启动时候使用bin/pyspark
./bin/pyspark --master local[2]
运行python程序
./bin/spark-submitexamples/src/main/python/pi.py 10
集群模型
Spark系统在集群上独立运行,通过SparkContext对象进行协调工作(称为driver program)具体点说,通过SparkContext,可以以多种形式连接到ClusterManager进行管理(不论是Spark自己的ClusterManager还是Yarn或者Mesos)并分配集群间运行所需的资源。第一次连接时,Spark将记录集群运行和存储过程中的各个节点,下一步,它会将应用程序(JAR、Python文件,通过SparkContext)下发给执行者(Executors),最后,通过SparkContext去启动任务(Tasks)执行
1、每个应用程序有自己的执行过程,并留了整个应用程序的时间和运行在多个线程的任务。这种隔离应用程序相互的利益,在调度一边(每个调度器(DriverSchedules)安排自己的任务(tasks))和执行者(executor)一边(任务运行在不同的系统以及不同的JVM上面)。然而,这也意味着数据没有写入到外部存储系统前不能在不同的Spark应用程序间进行共享(Spark的SparkContext实例间)
2、Spark对潜在的集群管理不可知,只要能够获得执行过程并且能够通讯,就可以很轻易的
运行程序,无论是在ClusterManager还是其他支持的环境下(比如Yarn,Mesos)
3、Driver Schedules 任务在集群中,运行在各自的工作节点,最好在同一局域网,如果你将执行请求发送到远程的集群,最好是打开一个RPC控制提交属性去在一个远程的节点去执行。
ClusterManager类型
三种类型
1、standalone 一个简单的内置ClusterManager用于Spark的应用部署
2、ApacheMesos 一个综合的ClusterManager可以进行Hadoop MapReduce和服务应用的执行
3、HadoopYarn Hadoop2中的ResourceManager
还有可能在不久的将来提供AmazonEC2环境的类型
提交任务
应用程序可以使用任意类型的spark-submit脚本来提交到集群中,请参考相关章节
http://spark.apache.org/docs/latest/submitting-applications.html
监测
每一个driver program拥有一个web ui 在4040端口上面,上面显示各种信息比如任务、执行情况、存储情况等,使用浏览器访问http://<driver-node>:4040查看监测界面,参考监测指南相关章节
http://spark.apache.org/docs/latest/monitoring.html
作业调度
Spark的资源分配的程序控制(在集群管理层面上)和应用程序的控制(如果多个计算在同一SparkContext上)请参考作业调度概述
http://spark.apache.org/docs/latest/job-scheduling.html
名词解释
关于环境
Spark可以运行在Windows和所有类Linux操作系统之上(比如Linux和MacOS)可以很简单的进行单机运行,只要你的机子里面装好了java环境,配置好了PATH和JAVA_HOME变量
Spark1.1运行在java6以上版本,Python2.6以上版本,以及Scala2.10以上的版本中
程序的启动和运行
Spark自带了很多Scala、java、Python示例,在example/src/main目录下,运行方式是
/run-example <class> [params]
例如:./bin/run-exampleSparkPi 10
也可以使用scala shell来进行后台程序的交互
./bin/spark-shell --master local[2]
--master 选项用于设置一个本地或者是集群的方式进行程序的启动,你可以使用local作为测试,local
等于使用N个线程进行运行,更多的选项,请参考--help选项
Spark也使用pythonAPI,启动时候使用bin/pyspark
./bin/pyspark --master local[2]
运行python程序
./bin/spark-submitexamples/src/main/python/pi.py 10
集群模型
Spark系统在集群上独立运行,通过SparkContext对象进行协调工作(称为driver program)具体点说,通过SparkContext,可以以多种形式连接到ClusterManager进行管理(不论是Spark自己的ClusterManager还是Yarn或者Mesos)并分配集群间运行所需的资源。第一次连接时,Spark将记录集群运行和存储过程中的各个节点,下一步,它会将应用程序(JAR、Python文件,通过SparkContext)下发给执行者(Executors),最后,通过SparkContext去启动任务(Tasks)执行
1、每个应用程序有自己的执行过程,并留了整个应用程序的时间和运行在多个线程的任务。这种隔离应用程序相互的利益,在调度一边(每个调度器(DriverSchedules)安排自己的任务(tasks))和执行者(executor)一边(任务运行在不同的系统以及不同的JVM上面)。然而,这也意味着数据没有写入到外部存储系统前不能在不同的Spark应用程序间进行共享(Spark的SparkContext实例间)
2、Spark对潜在的集群管理不可知,只要能够获得执行过程并且能够通讯,就可以很轻易的
运行程序,无论是在ClusterManager还是其他支持的环境下(比如Yarn,Mesos)
3、Driver Schedules 任务在集群中,运行在各自的工作节点,最好在同一局域网,如果你将执行请求发送到远程的集群,最好是打开一个RPC控制提交属性去在一个远程的节点去执行。
ClusterManager类型
三种类型
1、standalone 一个简单的内置ClusterManager用于Spark的应用部署
2、ApacheMesos 一个综合的ClusterManager可以进行Hadoop MapReduce和服务应用的执行
3、HadoopYarn Hadoop2中的ResourceManager
还有可能在不久的将来提供AmazonEC2环境的类型
提交任务
应用程序可以使用任意类型的spark-submit脚本来提交到集群中,请参考相关章节
http://spark.apache.org/docs/latest/submitting-applications.html
监测
每一个driver program拥有一个web ui 在4040端口上面,上面显示各种信息比如任务、执行情况、存储情况等,使用浏览器访问http://<driver-node>:4040查看监测界面,参考监测指南相关章节
http://spark.apache.org/docs/latest/monitoring.html
作业调度
Spark的资源分配的程序控制(在集群管理层面上)和应用程序的控制(如果多个计算在同一SparkContext上)请参考作业调度概述
http://spark.apache.org/docs/latest/job-scheduling.html
名词解释
Applicetion | 用户在Spark上面建立的程序和执行环境 |
Application Jar | 一个jar包文件用于封装用户的Spark程序,一般情况下,用户希望创建一个超级jar包用于封装运行时的依赖包,但是用户的包不应该包含hadoop以及spark的lib,这些在运行时会添加 |
DriverProgram | Main方法用于创建SparkContext以及运行的过程代码 |
ClusterManager | 一个外部的服务用于在集群上面获取资源(standaloneManager、Mesos、Yarn) |
DeployMode | 程序运行过程时的区别,在"cluster"模式下,在集群上面展开,在"client"模式下,在集群外面提交 |
WorkerNode | 在集群中运行程序的任意节点 |
Executor | 每个程序有自己的执行者,在WorkerNode中执行应用,运行时的任务和数据保存在内存或者磁盘上。 |
Task | 一个执行者中的任务单位 |
Job | 一个由多任务组成的并行计算,得到了"Action"响应(比如save,collect)你会在Driver的日志中看到他们 |
Stage | 每个Job得到的分阶段小任务并相互依赖(类似map和reduce)你会在Driver的日志中看到他们 |
相关文章推荐
- Spark1.1.1官网文档翻译2快速开始
- Spark1.1.1官网文档翻译3任务提交
- Spark1.1.1官网文档翻译4Spark编程指南
- Spark1.1.1官网文档翻译5SparkSQL
- jekyll 官网文档部分翻译
- Android Audio音频部分官网文档中文翻译
- Bottle文档简单翻译版-前言
- Sencha-概念-Float Components(浮动组件)(官网文档翻译11)
- Sencha-命令-CMD(编译器)(官网文档翻译33)
- kafka部分文档翻译
- DNN皮肤制作官方文档《DotNetNuke Skinning Guide 》翻译(1)—换肤系统需求分析和设计部分
- OpenSSL部分文档翻译
- erlang的官方文档部分翻译
- Spark官方文档 - 中文翻译(1.6)
- linux kernel 配置(部分) 部分内容翻译自内核帮助文档
- Android PropertyAnimation官网文档翻译
- Prism4文档翻译(第四章 第三部分)
- Django 2.0.1 官方文档翻译: 编写你的第一个 Django app,第四部分(Page 9)
- Prism4文档翻译(第四章 第三部分)
- 6.0之后Notification的基本用法(部分翻译自google官方文档)