Spark集群部署和启动与关闭

news/2024/11/25 18:56:50/

  上一篇我们讲了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.ppmy.cn/news/370646.html

相关文章

Python之快速排序

算法思路&#xff1a; 我们首先判断数组是否只有一个元素或没有元素&#xff0c;如果是则直接返回原数组。否则&#xff0c;我们选择一个基准值&#xff08;这里我们选择数组的第一个元素&#xff09;&#xff0c;并将数组分为两个部分&#xff1a;小于基准值和大于基准…

[srpingboot]菜鸟学习-ReSTful

REST即表述性状态转移&#xff08;英文&#xff1a;Representational State Transfer&#xff0c;简称REST&#xff09;&#xff0c;是一种针对网络应用的设计和开发方式&#xff0c;可以降低开发的复杂性&#xff0c;提高系统的可伸缩性。它主要描述了资源的表述以及资源之间的…

htc e9刷android6,HTC One E9+(E9pw 联通4G)刷机图文详解教程

玩安卓手机最大的乐趣当然就是刷机了&#xff0c;为了让HTC One E9(E9pw 联通4G)手机变的更快&#xff0c;我们通常都会通过刷机来提高HTC One E9(E9pw 联通4G)手机的运行速度&#xff0c;下面跟大家分享怎么用奇兔刷机对HTC One E9(E9pw 联通4G)进行一键刷机&#xff0c;具体步…

htc x920e刷android7.0,HTC X920e (Butterfly)一键刷机图文教程

经常会有机友提问&#xff0c;我的HTC X920e (Butterfly)手机支不支持一键刷机?由于奇兔刷机已经支持多达上千款安卓手机一键刷机&#xff0c;所以有时候小编也无法及时回答上来&#xff0c;最简单的办法就是把手机连上奇兔刷机&#xff0c;即可看到手机是否支持一键刷机。一键…

linux提取手机rom,xp系统下面(android)安卓手机刷机ROM教程

第 2 页 从官方RUU刷机程序中提取 从官方RUU刷机程序中提取官方原版ROM&#xff1a; 第一步&#xff1a;下载官方RUU刷机程序(EXE文件) 第二步&#xff1a;运行您已经下载的RUU刷机程序 (例如&#xff1a;RUU_Legend_hTC_Asia_TW_1.31.709.2_Radio_47.26.35.04_7.05.35.26L_rel…

android手机各大分区详解

1. bootloader 当我们拿到一款手机&#xff0c;第一件事应该就是按下电源键开机&#xff0c;那么从开机到进入到桌面程序这中间发生了些什么呢&#xff0c;我们从下面这张简化了的手机结构图开始&#xff1a; 注意&#xff1a;该结构图并不反映手机的实际分区顺序和位置&#x…

Ubuntu下eclipse无法识别手机驱动

google官方开发向导里对Android手机已经设置了允许安装非market程序&#xff0c;并且处于usb调试模式&#xff0c;但是仍然在usb连接电脑后无法被识别的问题作了解释。 官方网址&#xff1a;http://developer.android.com/guide/developing/device.html 如果是windows平台下&am…

htc A315 android usb驱动安装

根据一本书上的说明进行安装&#xff0c;类似这个文档上的 http://ajava.org/readbook/J2ME/androidsdkdq/17365.html&#xff0c;安装时报&#xff1a; 指定的位置不包含有关硬件的信息 和 无法安装这个硬件 错误 查了很多文档&#xff0c;这个问题很多人碰到&#xff0c;我…