【spark床头书系列】使用Apache Mesos部署Spark

利用Apache Mesos和Marathon实现作业管理 - 高性能分布式任务调度系统 Apache Mesos是一个开源的集群管理器,它可以有效地管理集群中的资源,并提供了一个统一的接口用于任务调度。Marathon是一个基于Mesos的高可用性框架,它提供了一个简单易用的界面用于管理长期运行的应用程序。Apache Mesos和Marathon简介架构设计和关键概念系统部署和配置任务调度和作业管理性能优化和故障恢复示例代码和演示Apache Mesos是一个分布式系统内核,它可以有效地管理集群中的资源,并提供了一个统一的接口用于任务调度。 阅读详情

使用Apache Mesos部署Spark点击这里可看全文


在硬件集群上使用Apache Mesos管理,可以使Spark运行起来。**注意:Apache Mesos支持已经在Apache Spark 3.2.0中被弃用,将在未来的版本中删除。**

部署Spark与Mesos的优势包括:

  • 在Spark和其他框架之间进行动态分配资源
  • 将资源按比例分配给多个Spark实例
  • 安全性

安全性
默认情况下,安全功能(如身份验证)是未启用的。在部署一个对外开放或不受信任网络的集群时,为了防止未经授权的应用程序在集群上运行,确保对集群的访问受到安全保护非常重要。在运行Spark之前,请参阅Spark安全性文档以及本文档中的相关安全部分。

工作原理

在独立集群部署中,下图中的集群管理器是一个Spark主节点实例。而在使用Mesos时,Mesos主节点会取代Spark主节点作为集群管理器。

Spark集群组件

当驱动程序创建作业并开始发出任务进行调度时,Mesos决定哪些机器处理哪些任务。因为它在调度这些短暂任务时考虑了其他框架,所以多个框架可以在同一集群上共存,而无需静态地划分资源。

要开始使用Mesos安装和通过Mesos部署Spark作业,请按照以下步骤操作。

安装Mesos

Spark 3.5.0适用于Mesos 1.0.0或更新版本,并且不需要任何特殊的Mesos补丁。文件和基于环境的密钥支持需要Mesos 1.3.0或更新版本。

如果您已经运行了一个Mesos集群,可以跳过此步骤。

否则,将Spark与Mesos一起安装与为其他框架安装Mesos没有区别。您可以从源代码安装Mesos,也可以使用预编译软件包进行安装。

从源代码安装

要从源代码安装Apache Mesos,请按照以下步骤操作:

  1. 从镜像下载Mesos发行版。
  2. 按照Mesos入门页面上的说明进行编译和安装。

注意:如果您希望在系统默认路径之外(例如,如果您没有管理员权限来安装),请在configure命令中使用--prefix选项指定安装路径,例如:--prefix=/home/me/mesos。默认情况下,安装路径为/usr/local。

第三方软件包

Apache Mesos项目只发布源代码版本,而不提供二进制软件包。但是,其他第三方项目发布了二进制软件包,这些软件包可能有助于安装Mesos。

其中一个项目是Mesosphere。要使用Mesosphere提供的二进制版本安装Mesos,请按照以下步骤操作:

  1. 从下载页面下载Mesos安装包。
  2. 按照他们的安装和配置说明进行操作。

Mesosphere的安装文档建议设置ZooKeeper以处理Mesos主节点故障转移,但也可以在没有ZooKeeper的情况下运行Mesos,只需使用单个主节点即可。

验证

要验证Mesos集群是否准备好与Spark一起使用,请访问Mesos主节点的Web界面(端口为5050),确认“Agents”选项卡中存在所有预期的机器。

连接Spark到Mesos

要使用Mesos调度Spark作业,您需要在Mesos可访问的位置上有一个Spark二进制软件包,并且需要配置Spark驱动程序以连接到Mesos。

或者,您还可以在所有Mesos代理中安装Spark,并将spark.mesos.executor.home(默认为SPARK_HOME)配置为指向该位置。

连接到Mesos的身份验证

当启用Mesos Framework身份验证时,需要提供一个主体和密钥,以便Spark对Mesos进行身份验证。每个Spark作业将注册为一个独立的Framework。

根据部署环境的不同,您可以选择创建一组共享给所有用户的Framework凭证,或者为每个用户创建Framework凭证。创建和管理Framework凭证应遵循Mesos身份验证文档。

可以通过多种方式指定Framework凭证,具体取决于部署环境和安全要求。最简单的方法是直接在Spark配置中指定spark.mesos.principal和spark.mesos.secret的值。或者,您还可以间接地通过指定spark.mesos.principal.file和spark.mesos.secret.file来指定这些值,这些设置指向包含主体和密钥的文件。这些文件必须是UTF-8编码的纯文本文件。通过适当的文件所有权、模式/访问控制列表,可以更安全地指定这些凭证。

此外,如果您更喜欢使用环境变量,也可以通过环境变量来指定上述所有内容。环境变量的名称只是将配置设置转换为大写,并用下划线替换点号,例如:SPARK_MESOS_PRINCIPAL。

凭证规范的优先顺序如下所示。如果您指定多种获取凭证的方式,则Spark将使用找到的第一个有效值,忽略后续的值:

  1. spark.mesos.principal配置设置
  2. SPARK_MESOS_PRINCIPAL环境变量
  3. spark.mesos.principal.file配置设置
  4. SPARK_MESOS_PRINCIPAL_FILE环境变量

对于密钥,也适用相同的顺序。基本上,我们更喜欢直接指定配置而不是通过文件间接指定配置,并且我们更喜欢使用配置设置而不是环境变量。

在安全套接字上运行Mesos集群

如果要将Spark应用程序部署到以安全模式运行的Mesos集群中,需要设置一些环境变量。

  • LIBPROCESS_SSL_ENABLED=true:启用SSL通信
  • LIBPROCESS_SSL_VERIFY_CERT=false:验证SSL证书
  • LIBPROCESS_SSL_KEY_FILE=pathToKeyFile.key:密钥文件路径
  • LIBPROCESS_SSL_CERT_FILE=pathToCRTFile.crt:证书文件路径

所有选项的详细说明可以在这里找到。

然后,按照下面的“客户端模式”或“集群模式”的描述进行提交。

上传Spark软件包

当Mesos首次在Mesos代理上运行任务时,该代理必须具有一个用于运行Spark Mesos执行器后端的Spark二进制软件包。Spark软件包可以托管在任何Hadoop可访问的URI上,包括HTTP(通过http://)、Amazon Simple Storage Service(通过s3n://)或HDFS(通过hdfs://)。

要使用预编译的软件包:

  1. 从Spark下载页面下载Spark二进制软件包。
  2. 上传到HDFS/HTTP/S3。

要将软件包托管在HD

Mesos分布式资源管理框架 阅读详情

相关推荐

Apache Mesos:强大的服务器集群管理框架

通过将服务器集群视为一个资源池,并提供灵活的资源调度和分配机制,Mesos可以实现资源的最优利用和任务的高效执行。Agent:Agent运行在每个服务器上,负责向Master报告本地资源的使用情况,并接收Master分配的任务。Agent:Agent是运行在每个服务器上的代理程序,负责向Master报告本地资源的使用情况,并接收Master分配的任务。Apache Mesos的基本原理是将整个服务器集群视为一个大的资源池,应用程序可以在这个资源池中动态地分配和共享资源。二、Apache Mesos的架构。

AsfSql的博客 434

Apache Mesos介绍——第二部分

作者:禅与计算机程序设计艺术 1.背景介绍 Mesos是一个开源的集群管理器软件框架,它被设计用于支持多种类型的分布式应用,如Apache Hadoop、Spark、Aurora等。它的目标之一是提供一个通用的资源抽象,允许应用程序请求可用资源并运行在不同集群节点上。Mesos是一个分布式系统内核,

AI天才研究院 1114

分布式计算平台架构及调度策略研究——基于Mesos的实践探索

2011年Mesos项目发布,近十年来开源界逐渐爆发了一场关于容器技术、资源管理、云计算领域的革命性变革。Mesos是一个由Apache基金会贡献给Apache孵化器的分布式系统内核框架,用于管理集群资源,支持多种编程语言运行环境的应用程序部署、弹性扩展等功能。作为一种集群管理软件,Mesos拥有完整的生命周期管理、资源隔离、容错恢复和健康监测功能。Mesos同时也是一种资源共享调度平台,提供了统一的资源管理机制,用于分配公共集群资源、高效地共享系统资源。

AI天才研究院 1943

2、Apache Mesos:分布式集群管理的利器

本文全面介绍了 Apache Mesos,一款源自加州大学伯克利分校的开源分布式集群管理工具,被誉为分布式系统内核。文章详细解析了 Mesos 的架构设计、数据中心操作系统的需求与优势、框架生态、资源和属性配置、两级调度机制以及资源分配模块等内容。Mesos 通过资源抽象和共享,有效提高资源利用率,简化集群管理,并支持多种分布式应用的灵活调度,是构建高效弹性分布式系统的利器。

jupi8的博客 134

Emscripten安装(wasm编译)

5:配置对应环境变量--替换成自己对应的安装路径(2025最新的Emscripten工具链默认使用LLVM/WebAssembly标准工作流,java依赖已经移除了,所以以下java环境不配,需要使用java的手动添加即可---->emsdk install java-8-152-64bit。3:下载相应的依赖库---->emsdk install latest(我这里下的是最新的,如果有指定版本,把latest替换成版本号即可)6:测试是否成功---> emcc- v/em++ -v。

qq_31578301的博客 556

卡方检验的隐藏逻辑:为什么正态分布的平方和如此重要?

本文深入探讨了卡方检验的核心逻辑,揭示了正态分布平方和在统计检验中的重要性。通过分析卡方分布与伽马分布的关系,以及实际应用案例,帮助读者理解卡方检验的原理、局限及高级应用场景,为数据分析提供有力工具。

3a9bq4r8t2y的博客 208

航测无人机las点云数据生成DEM

“ 做航测的同僚都知道,Pix4D或者CC(ContextCapture)都可以生成DSM,往往高程点提取以及土方计算都需要用到DEM,PhotoScan软件可以提出地面点并只应用地面点连接三角网,然而分类效果差,生成的DEM不管是平整度还是精度,都不理想。而传统等高线生DEM需要耗费较长时间,以下提供一种参考方法,供大家探讨。 ” 1 点云数据 航测类软件大多可以生成点云数据,如Pix4D,PhotoScan,CC等,此次点云数据为citymapper2相片基于CC生产的Las点云。 2 筛选地面点 筛.

qq_43173805的博客 1万+

告别专业软件!用QGIS+GDAL免费搞定S-57电子海图,附全套符号库和样式文件

本文详细介绍了如何利用免费开源工具QGIS和GDAL处理S-57电子海图,包括数据转换、符号库配置和专业可视化方案。通过实战指南,用户无需依赖昂贵的商业软件,即可实现从S-57到SHP的转换及专业级海图制作,特别适合预算有限的个人和小型机构。

weixin_33701294的博客 391

Android P车机添加屏幕多指全局自定义手势操作

参照原生状态栏全局下拉手势拦截,实现屏幕全局多指手势响应操作,并对手势进行转换为KeyEvent,以便项目自定义手势行为或应用拦截手势行为。

shusuanly的博客 1252

【施磊】C++课程笔记目录

【C++编程】施磊老师C++笔记目录

GeniusAng的博客 4124

Linux ARM平台开发系列讲解(GPIO子系统) 2.3.2 GPIO子系统常用函数解析

1. 概述 该章节会记录一年常用的GPIO子系统常用函数,会更具情况不断更新 static inline int gpio_get_value(unsigned int gpio) 功能 :用于获取某个GPIO引脚上的值 gpio : gpio引脚号 返回值:非负值,得到的 GPIO 值;负值,获取失败。 static inline void gpio_set_value(unsigned int gpio, int value) static inline int gpio_cansleep(unsi

DSMGUOGUO的博客 669

YOLOv8改进策略【Backbone/主干网络】| 2023 U-Net V2 替换骨干网络,加强细节特征的提取和融合

一、本文介绍 本文记录的是基于U-Net V2的YOLOv8目标检测改进方法研究。本文利用U-Net V2替换YOLOv8的骨干网络,UNet V2通过其独特的语义和细节融合模块(SDI),能够为骨干网络提供更丰富的特征表示。并且其中的注意力模块可以使网络聚焦于图像中与任务相关的区域,增强对关键区域特征的提取,进而提高模型精度。本文配置了原论文中pvt_v2_b0、pvt_v2_b1、pvt_v2_b2、pvt_v2_b3、pvt_v2_b4和pvt_v2_b5六种模型,以满足不同的需求。 文章目录一、本文

Limiiiing的博客 1721

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

上一篇: 【教程0】OptaPlanner入门和功能介绍
下一篇: 【spark床头书系列】spark-shell 任务提交任务参数选项说明示例源码权威详解
BigDataMLApplication
博客等级 码龄11年 7363粉丝 565原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BigDataMLApplication

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值