请注意,本文是翻译自spark的官方文档,因水平有限,难免有差错,请轻拍
集群管理器的类型
spark系统现在支持三种集群管理器。
standalone---spark自带的简单的集群管理器,能够能容易地布置集群
apache mesons----可以管理spark服务应用和hadoop-MapReduce的广泛使用的集群管理器
hadoop YARN---在hadoop2中的资源管理器
提交应用
提交应用到任何类型的集群都是用spark-submit脚本,应用提交指导描述了如何去做
监视
每一个程序都有一个web UI界面,通常会在端口4040可以看到,那里展示了关于任务执行,存储的信息。可以通过 http://<driver-node>:4040 来访问这个UI。
监视引导描述了监控选项
任务安排
spark提供了资源控制,可以安排分配应用。
任务安排大纲描述了更多的细节
spark脱机模式(Spark Standalone Mode)
除去在Mesons或YARN集群管理器上可以运行,spark同样也提供了简单的脱机布置模式。你可以手动布置脱机集群,手工打开master和workers,或者使用我们提供的launch scripts。它同样可以在单机测试中运行守护线程。
在集群中安装spark standalone
为了安装spark脱机模式,需要在集群中的每一个节点编译相关版本的spark。
手动打开集群
你可以通过以下代码来打开脱机master
./sbin/start-master.sh
一旦打开,master将会打印出spark://HOST:PORT 的URL,我们可以用这个URL来连接workers,或者被当作SparkContext中的master参数。你可以在master的web UI中找到这个URL。
类似地,你可以打开多个master,然后通过以下方式来连接
./sbin/start-slave.sh <master-spark-URL>
一旦你打开了worker,看着master的web UI,你应该看被列出来的新节点,同时还可以看到CPU的数量和内存。
启动集群脚本
为了用启动脚本启动一个spark脱机集群,你应该在你的spark目录下创建一个叫做conf/slaves的文件,它必须包含那些打算启动worker的机器的主机名,一个一行。如果conf/slaves不存在,发射脚本默认就是单机模式,单机模式在测试中是有用的。注意,master通过ssh来访问每一台machine。默认情况下,ssh是并行运行且以无密码去安装的。如果没有设置无密码状态,可以设置环境变量SPARK_SSH_FOREGROUND,然后连续地为每一个worker提供密码。
一旦你搞定了这些文件,你就可以启动或停止shell脚本,建立在hadoop上的布置脚本,在SPARK_HOME/sbin中可以被用到。
sbin/start-master.sh 启动master实例
sbin/start-slaves.sh 启动在conf/slaves文件中slave实例
sbin/start-slave.sh 启动脚本执行的机器的slave实例
sbin/start-all.sh 启动上述描述的master和slaves
sbin/stop-master.sh 终止master
sbin/stop-slaves.sh 终止所有slave实例
sbin/stop-all.sh 终止上述提到的master和slaves
记住,这些脚本必须在你想要的master的机器上运行
你可以通过设置conf/spark-env.sh中的环境变量来配置集群。通过conf/spark-env.sh.template创建文件,复制它到你的worker节点上让文件生效
连接在集群中的应用
为了在spark集群中运行应用,可以通过spark://IP:PORT的masterURL来运行