zoukankan      html  css  js  c++  java
  • 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节点;

    结构图
    节点结构图

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

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

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

      四、配置Spark环境变量,进入Spark目录下的conf目录把slaves.template重命名为slaves,接着把spark-env.sh.template重命名为:spark-env.sh;
    重命名
        重命名
        修改spark-env.sh文件,添加环境变量;
    修改env
        spark-env修改
      五、在133节点使用scp把下载好的Java、Scala、Spark发送到131节点,并在131节点上重复以上所有步骤;
      六、在两个节点都完成以上所有步骤后开始启动Spark,133节点既是Master又是Worker;
        1、首先在133启动Spark,进入Spark目录的sbin目录执行./start-all.sh:
    master启动
        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;
    slave启动
        slave启动:
        使用jps命令,存在Worker进程则说明当前的Spark Worker节点启动成功;
      七、 Spark Web页面
        可以通过http://192.168.2.133:8080/ 地址查看到当前Spark集群的信息,这地址为Master节点的地址;
    SparkWeb
    SparkWeb:

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

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

  • 相关阅读:
    System.setProperty()
    ExtJs自学教程(1):一切从API開始
    【福利!】英雄联盟国服更新补丁速度极慢的解决方法
    ORACLE触发器具体解释
    我的Hook学习笔记
    Runood-JSP:JSP 客户端请求
    Runoob-JSP:JSP 隐式对象
    Runoob-JSP:JSP 动做元素
    Runoob-JSP:JSP 指令
    Runoob-JSP:JSP 生命周期
  • 原文地址:https://www.cnblogs.com/softlin/p/5100893.html
Copyright © 2011-2022 走看看