Spark运行模式与Standalone模式部署

上节中简单的介绍了Spark的一些概念还有Spark生态圈的一些情况,这里主要是介绍Spark运行模式与Spark Standalone模式的部署;

Spark运行模式

  在Spark中存在着多种运行模式,可使用本地模式运行、可使用伪分布式模式运行、使用分布式模式也存在多种模式如:Spark Mesos模式、Spark YARN模式;

Spark Mesos模式:官方推荐模式,通用集群管理,有两种调度模式:粗粒度模式(Coarse-grained Mode)与细粒度模式(Fine-grained Mode);
Spark YARN模式:Hadoop YARN资源管理模式;
Standalone模式: 简单模式或称独立模式,可以单独部署到一个集群中,无依赖任何其他资源管理系统。不使用其他调度工具时会存在单点故障,使用Zookeeper等可以解决;
Local模式:本地模式,可以启动本地一个线程来运行job,可以启动N个线程或者使用系统所有核运行job;

Standalone模式部署实践

  Standalone模式需要将Spark复制到集群中的每个节点,然后分别启动每个节点即可;Spark Standalone模式的集群由Master与Worker节点组成,程序通过与Master节点交互申请资源,Worker节点启动Executor运行;
  这里使用了两节点部署Spark集群:192.168.2.131、192.168.2.133,下面简称为:133与131节点;其中133节点既是Master节点同时又是Worker节点,131节点为Worker节点;

Spark运行模式与Standalone模式部署
节点结构图

部署步骤:
  一、首先在133节点上下载Java、Scala与Spark并解压到/usr/local目录下,这里使用的Spark是带有Hadoop的版本
Spark运行模式与Standalone模式部署
  下载解压到local

  二、配置Java、Scala与Spark环境变量,这里把环境变量配置到/etc/profile文件中,请忽略Hadoop环境变量;
Spark运行模式与Standalone模式部署
  环境变量配置

  三、测试Java、Scala是否配置成功,在终端输入:java -version与scala -version

  四、配置Spark环境变量,进入Spark目录下的conf目录把slaves.template重命名为slaves,接着把spark-env.sh.template重命名为:spark-env.sh;
Spark运行模式与Standalone模式部署
    重命名
    修改spark-env.sh文件,添加环境变量;
Spark运行模式与Standalone模式部署
    spark-env修改
  五、在133节点使用scp把下载好的Java、Scala、Spark发送到131节点,并在131节点上重复以上所有步骤;
  六、在两个节点都完成以上所有步骤后开始启动Spark,133节点既是Master又是Worker;
    1、首先在133启动Spark,进入Spark目录的sbin目录执行./start-all.sh:
Spark运行模式与Standalone模式部署
    Master启动
    使用jps命令发现存在Master与Worker进程,说明Spark已启动成功;

    2、启动131节点的Spark,进入Spark目录的sbin目录执行:./start-slave.sh spark://192.168.2.133:7077
    start-slave.sh后面的地址为Master节点的通信地址,指定当前slave节点连接到的Master;
Spark运行模式与Standalone模式部署
    slave启动:
    使用jps命令,存在Worker进程则说明当前的Spark Worker节点启动成功;
  七、 Spark Web页面
    可以通过http://192.168.2.133:8080/ 地址查看到当前Spark集群的信息,这地址为Master节点的地址;
Spark运行模式与Standalone模式部署
SparkWeb:

文章首发地址:Solinx
http://www.solinx.co/archives/531

参考资料:
http://spark.apache.org/docs/latest/spark-standalone.html

上一篇:S5PV210(TQ210)裸机编程


下一篇:PHP运行模式