Spark集群部署和启动与关闭

news2024/11/26 9:46:36

  上一篇我们讲了Hadoop集群部署和启动与关闭,今天我们讲一下Spark集群部署和启动与关闭。首先我们先来了解一下Spark集群部署模式,分别有以下三种:

  1. Standalone
      Standalone(独立模式)是Spark一种简单的集群部署模式,自带完整的服务可单独部署到一个集群中,无需依赖任何其他资源调度管理系统。

  2. Mesos
      Mesos(Spark on Mesos模式)是一款资源调度管理系统,可以为Spark提供资源调度服务,由于Spark与Mesos存在密切的关系,所以在设计Spark框架时充分考虑到了对Mesos的集成。

  3. YARN
      YARN(Spark on YARN模式)是一款资源调度管理系统,支持动态资源分配策略,可以为Spark提供资源调度服务,由于在生产环境中,很多时候都要与Hadoop同在一个集群,所以采用YARN来管理资源调度,可以降低运维成本和提高资源利用率,避免出现多个资源管理器造成资源分配的混乱无序的问题。

Standalone与Spark On YARN模式下Spark程序运行过程:
  Standalone模式下Spark通过SparkContext向Cluster Manager(资源管理器,即Master)申请所需执行的资源,Cluster Manager分配应用程序执行需要的资源,在Worker节点上创建Executor,SparkContext将程序(jar包或python文件)和Task任务发送给Executor执行,并收集结果给Driver。

  Spark On YARN模式下Spark通过SparkContext向ResourceManager(资源管理器)申请所需执行的资源,ResourceManager分配应用程序执行需要的资源,为NodeManager分配一个Container,并在该Container中启动AppMaster,此时 AppMaster上运行的是SparkDriver。SparkDriver在Container上启动SparkExecutor,并调度SparkContext提交的程序和SparkTask在SparkExecutor上运行,等到所有的任务执行完毕后,向AppManager取消注册并释放资源。

Spark集群安装配置

  1. 下载Spark
    访问Apache资源网站下载Linux操作系统的Spark安装包spark-2.3.2-bin-hadoop2.7.tgz。

  2. 上传Spark安装包
    使用SecureCRT远程连接工具连接虚拟机Spark01,在存放应用安装包的目录/export/software/下执行“rz”命令上传Spark安装包。

  3. 安装Spark
    在虚拟机Spark01中,通过解压缩的方式安装Spark,将Spark安装到存放应用的目录/export/servers/。
    tar -zxvf /export/software/spark-2.3.2-bin-hadoop2.7.tgz -C /export/servers/

  4. 修改Spark配置文件
    在Spark安装目录下的conf目录存在Spark配置文件的样例文件spark-env.sh.template,需要执行“cp spark-env.sh.template spark-env.sh”命令,通过复制样例文件方式创建Spark配置文件spark-env.sh,执行“vi spark-env.sh”命令编辑配置文件
    spark-env.sh ,指定JDK安装目录和Hadoop配置文件所在目录。

export JAVA_HOME=${JAVA_HOME}
export HADOOP_CONF_DIR=/export/servers/hadoop-2.7.4/etc/hadoop/
  1. 配置Spark环境变量
    在虚拟机Spark01,执行“vi /etc/profile”命令编辑系统环境变量文件profile,配置Spark环境变量。
export SPARK_HOME=/export/servers/spark-2.3.2-bin-hadoop2.7
export PATH=$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH

系统环境变量文件profile配置完成后保存并退出即可,随后执行“source /etc/profile”命令初始化系统环境变量使配置内容生效。

  1. Spark环境验证
    在虚拟机Spark01,执行“spark-shell --master yarn --deploy-mode client”命令进入Spark Shell交互界面。
    在这里插入图片描述
    Spark集群测试
  2. 在虚拟机Spark01,使用Spark官方示例SparkPi,验证Spark任务是否可以成功提交到YARN中运行。
spark-submit --class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \
--driver-memory 2g \
--executor-memory 1g \
--executor-cores 1 \
/export/servers/spark-2.3.2-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.3.2.jar  \
10

在这里插入图片描述

  1. 在浏览器输入http://192.168.121.132:8088查看YARN管理界面,State为“RUNNING”表示当前YARN中正在执行的Spark任务。
    在这里插入图片描述
    State为“FINISHED”表示当前YARN的Spark任务执行完成,并且FinalStatus为“SUCCEEDED”表示当前Spark任务执行成功。
    执行几秒后刷新页面
    在这里插入图片描述
    在虚拟机Spark01查看Spark任务执行结果。
    在这里插入图片描述
    注意:解决Spark提交任务要YARN异常问题
      为了防止提交Spark任务时,YARN可能将Spark任务Kill掉,导致“Failed to send RPC xxxxxx”异常,可以在Hadoop配置文件yarn-site.xml中添加如下内容
<property>
  <name>yarn.nodemanager.pmem-check-enabled</name>#是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是true。
  <value>false</value>
</property>
<property>
  <name>yarn.nodemanager.vmem-check-enabled</name>#是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是true。
  <value>false</value>
</property>

好了,Spark的集群部署和启动与关闭我们就讲到这里了,下一篇我们将讲解HBase集群部署和启动与关闭

转载自:https://blog.csdn.net/u014727709/article/details/130917223
欢迎start,欢迎评论,欢迎指正

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/643693.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

随着用户体验质量的不断追求,性能优化成了Android开发中的重要一方面

在移动互联网时代&#xff0c;Android系统的使用越来越广泛&#xff0c;而随着用户对体验质量的不断追求&#xff0c;性能优化已经成为了Android应用开发中的重要方面。以下是对Android市场对性能优化的需求量及应用广度进行详细分析的几个方面。 1. 用户需求 随着Android系统…

DataLeap的全链路智能监控报警实践(三): 系统实现

系统实现 整体架构 基线 管理模块&#xff1a;负责基线创建、更新、删除等操作&#xff0c;管理基线元信息&#xff0c;包括保障任务&#xff0c;承诺时间&#xff0c;余量及报警配置等&#xff09;&#xff1b; 基线 实例生成&#xff1a;系统每天定时触发生成基线实例&#x…

2023 年最新互联网 Java 面试八股文出炉(附大厂 P5-P8 技术栈)

为什么感觉 Java 面试变难了&#xff1f; 几年前&#xff0c;你只需要简单的 ssm 框架&#xff0c;就能轻松找到一份 Java 的工作&#xff0c;但现在不一样了&#xff0c;随着涌入这个行业的人越来越多&#xff0c;同一个岗位需要筛选掉更多人&#xff0c;要求自然水涨船高&am…

ubuntu 20.04 aarch64 平台交叉编译 opencv 静态库

编译环境 win10 64 位 VMware Workstation Pro 16 虚拟机 虚拟机安装 ubuntu 20.04 opencv 版本&#xff1a; 来自 github 当前最新 4.7 目的 交叉编译 opencv 生成静态库&#xff08;.a&#xff09;&#xff0c;用于 嵌入式 aarch64 平台。 环境配置方法 参考上一篇 u…

基于Java汽车配件销售业绩管理系统设计实现(源码+lw+部署文档+讲解等)

博主介绍&#xff1a; ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ &#x1f345; 文末获取源码联系 &#x1f345; &#x1f447;&#x1f3fb; 精…

@vue/cli脚手架

2. vue/cli脚手架 2.1vue/cli 脚手架介绍 目标: webpack自己配置环境很麻烦, 下载vue/cli包,用vue命令创建脚手架项目 vue/cli是Vue官方提供的一个全局模块包(得到vue命令), 此包用于创建脚手架项目脚手架是为了保证各施工过程顺利进行而搭设的工作平台 2.2 vue/cli 目录和代…

Camera | 11.瑞芯微摄像头采集图像颜色偏绿解决笔记

前言 在实际调试基于瑞芯微平台的camera过程中&#xff0c;发现显示的图片发绿&#xff0c; 现在把调试步骤分享给大家&#xff1a; 1、修改iq文件 sdk中位置&#xff1a; external/camera_engine_rkaiq/iqfiles/isp21/ov13850_ZC-OV13850R2A-V1_Largan-50064B31.xml【现在…

EBU5476 Microprocessor System Design 知识点总结_1 Introduction

主要学习自北邮国院物联网工程大三下学期微处理器课程。 Introduction-随便聊 嵌入式系统是什么&#xff1f;专用的计算机系统。为专门功能可能对计算机架构&#xff0c;外设等做出一些取舍。 通常的限制&#xff1a;Cost&#xff08;比如大量部署传感器节点&#xff09;&am…

基础知识学习---牛客网C++面试宝典(二)C/C++基础之C++内存

1、本栏用来记录社招找工作过程中的内容&#xff0c;包括基础知识学习以及面试问题的记录等&#xff0c;以便于后续个人回顾学习&#xff1b; 暂时只有2023年3月份&#xff0c;第一次社招找工作的过程&#xff1b; 2、个人经历&#xff1a; 研究生期间课题是SLAM在无人机上的应…

深入理解深度学习——注意力机制(Attention Mechanism):带掩码的多头注意力(Masked Multi-head Attention)

分类目录&#xff1a;《深入理解深度学习》总目录 相关文章&#xff1a; 注意力机制&#xff08;AttentionMechanism&#xff09;&#xff1a;基础知识 注意力机制&#xff08;AttentionMechanism&#xff09;&#xff1a;注意力汇聚与Nadaraya-Watson核回归 注意力机制&#…

想了解会计软件吗?来看看Zoho Books的功能和特点

Zoho Books 是一款功能强大的在线会计软件&#xff0c;为企业提供多合一解决方案&#xff0c;该解决方案可定制、可扩展&#xff0c;并使始终保持合规。 轻松生成电子发票 在Zoho Books中&#xff0c;您可以通过包含电子发票架构中提到的所有必填字段来创建电子发票格式的发票。…

css 包含块

你不知道的 CSS 之包含块 一说到 CSS 盒模型&#xff0c;这是很多小伙伴耳熟能详的知识&#xff0c;甚至有的小伙伴还能说出 border-box 和 content-box 这两种盒模型的区别。 但是一说到 CSS 包含块&#xff0c;有的小伙伴就懵圈了&#xff0c;什么是包含块&#xff1f;好像…

【啃】《Java核心卷 一》 | 第一,二章

文章目录 《Java核心技术卷 一》第一章 概述第二章 Java编程环境 图书推荐 《Java核心技术卷 一》 第一章 概述 前言&#xff1a;本书与一些”0基础入门“的书定位感觉是不太一样的&#xff0c;可能就像书名所说&#xff0c;是”核心技术“叭。书中经常将Java语言与 c 进行对比…

无损网络理论和实践

一、为什么需要无损网络&#xff1f; 随着高性能计算、大数据分析、人工智能以及物联网等技术的飞速发展&#xff0c;集中式存储、分布式存储以及云数据库的普及等原因&#xff0c;业务应用有越来越多的数据需要从网络中获取&#xff0c;这对数据中心网络的交换速度和性能要求…

Linux :: 权限篇:【1】:Linux 下文件访问者身份说明:三人一组!【补充:Linux下用户类型的分类!】

系列文章说明 前言&#xff1a;本篇是 Linux 基本操作篇章的内容&#xff01; 笔者使用的环境是基于腾讯云服务器&#xff1a;CentOS 7.6 64bit。 学习集推荐&#xff1a; C 入门到入土&#xff01;&#xff01;&#xff01;学习合集Linux 从命令到网络再到内核&#xff01;学习…

【Flutter】Flutter 如何调用另一个 Page 里的函数

文章目录 一、前言二、状态管理和页面函数调用1. 状态管理简介2. 页面函数调用的需求 三、方法介绍和示例1. Provider 方法2. Global Key 方法3. 回调函数方法 四、总结 一、前言 本文的目标是为 Flutter 初学者解释如何在 Flutter 中调用另一个 Page 里的函数。通过阅读本文&…

碳排放预测模型 | Python实现基于机器学习回归分析的碳排放预测模型——数据清理和准备

文章目录 效果一览文章概述研究内容源码设计参考资料效果一览 文章概述 碳排放预测模型 | Python实现基于机器回归分析的碳排放预测模型——数据清理和准备 研究内容 分析国家在设计用于预测和预测二氧化碳排放的机器学习模型方面的特定记录,利用来自全球绝大多数国家的记录。…

探索iOS之Metal编程指南

iOS推出Metal渲染库为了取代OpenGL。Metal有自己的Shader语言&#xff0c;渲染效率比OpenGL高。在这里我们一起探索&#xff1a;Metal使用C限制、预处理定义、动态链接配置、GPU编译配置、设备坐标系、视口坐标系、纹理坐标系、矢量类型、矩阵类型、采样器状态、矩阵相乘。 1、…

如何下载远程maven仓库的jar 手动放到本地仓库?

文章目录 如何下载远程maven仓库的jar 手动放到本地仓库?简单步骤描述:详细步骤描述:案例1:案例2:结语如何下载远程maven仓库的jar 手动放到本地仓库? 在使用Maven构建Java项目时,通常会从中央仓库或其他远程仓库下载所需的依赖库。但是,有时候我们需要手动下载这些依赖库并…

Java并发之 Lock 锁

一、Lock接口 1 Lock简介&地位&作用 锁是一种工具&#xff0c;用于控制对共享资源的访问Lock和synchronized是最常见的两个锁&#xff0c;他们都能够达到线程安全的目录&#xff0c;但是使用和功能上又有较大的不同Lock接口最常见的实现类就是ReentrantLock通常情况下…