• Spark集群管理器介绍


    Spark可以运行在各种集群管理器上,并通过集群管理器访问集群中的其他机器。
    Spark主要有三种集群管理器,如果只是想让spark运行起来,可以采用spark自带的独立集群管理器,采用独立部署的模式;如果是想让Spark部署在其他集群上,各应用共享集群的话,可以采取两种集群管理器:Hadoop Yarn 或 Apache Mesos。

    一、独立集群管理器

    Spark独立集群管理器提供的在集群上运行应用的简单方法。要使用集群启动脚本,按照以下步骤执行即可:
    1、将编译好的Spark发送到集群的其他节点相同的目录下,例如: /home/opt/spark
    2、设置集群的主节点和其他机器的SSH免密码登录
    3、编辑主节点的conf/slaves文件,添加上所有的工作节点的主机名
    4、在主节点上运行sbin/start-all.sh启动集群,可以在http://masternode:8080上看到集群管理界面
    5、要停止集群,在主节点上运行 sbin/stop-all.sh

    二、Hadoop Yarn

    YARN是Hadoop2.0中引入的集群管理器,可以让多中数据处理框架运行在一个共享的资源池上,而且和Hadoop的分布式存储系统(HDFS)安装在同一个物理节点上。所以让Spark运行在配置了YARN的集群上是一个非常好的选择,这样当Spark程序运行在存储节点上的时候可以快速的访问HDFS中的数据。
    在Spark中使用YARN的步骤:

    1.找到你的Hadoop的配置目录,然后把它设置问环境变量HADOOP_CONF_DIR。
    export HADOOP_CONF_DIR="..."
    然后采用如下方式提交作业
    spark-submit --master yarn yourapp

    2、配置资源用量
    (1) --executor-memory 设置每个执行器的内存用量
    (2)--executor-cores 设置每个执行器进程从YARN中占用的核心数目
    (3)--num-wxecutors Spark应用会使用固定数量的执行器节点,默认为2

    三、Apache Mesos

    Mesos是一个通用的集群管理器,既可以运行分析性负载又可以运行长期运行的服务。
    在Mesos上使用Spark,可以采用以下方式:
    spark-submit --master mesos://masternode:5050 yourapp

    1、Mesos的调度模式
    Mesos的调度模式分为两种:粗粒度模式和细粒度模式
    粗粒度模式:只Spark会提前为每个执行器分配固定数量的CPU,而且在任务结束前不会释放这些资源。
    可以通过设置spark.mesos.coarse为true,开启粗粒度调度模式
    细粒度模式(默认):执行器进程占用的CPU核心数会在执行任务的过程中动态变化。

    2、配置资源用量
    (1) --executor-memory 设置每个执行器的资源
    (2) --total-executor-cores 设置应用占用的核心数

  • 相关阅读:
    SQL Server 服务由于登录失败而无法启动
    一个项目涉及到的50个Sql语句
    sql server2008 数据库镜像的问题
    C# 根据枚举名(string)获得enum中的枚举值
    在不同版本的 IIS 上使用 ASP.NET MVC(转)
    sqlite 默认当前时间
    Nginx反向代理后防盗链设置
    JavaScript 图片加载
    nginx配置文件中的location中文详解
    程序设计的十个做与不做
  • 原文地址:https://www.cnblogs.com/dtstack/p/9765431.html
Copyright © 2020-2023  润新知