Spark集群的搭建

spark伪分布部署 本实验任务主要完成基于ubuntu环境的Spark伪分布部署、配置和调试工作。通过完成本实验任务,要求学生熟练掌握Spark伪分布部署方法,为后续实验的开展奠定Spark平台基础,也为从事大数据平台运维工程师、大数据技术支持工程师等岗位工作奠定夯实的技能基础。掌握Spark伪分布环境的搭建配置本次环境是:Ubuntu16.04 所需root密码为simpleware-sshspark有以下几种安装模式,每种安装模式都有自己不同的优点和长处。   local(本地模式): 常用于本地开发测试,本地还分为loc 阅读详情

Spark集群介绍

Spark的运行模式分为:

  • local(本地模式)
  • Spark on Standalone
  • Spark on yarn
  • Spark on mesos。

其中Standalone集群是Spark的框架自己实现的资源任务管理集群,所以今天我们介绍一下Standalone集群的搭建。

Spark Standalone

  1. 首先,去spark官网下载spark安装包在这里插入图片描述
    笔者这次使用的是spark1.6.3、Hadoop2.6版本的jar包

  2. 下载完成后,把jar包发送到服务器上进行解压,然后把解压后的文件夹名称改为spark1.6.3.

  3. 进入conf目录

  • 修改slave.template->slave(这里是配置Woker所在节点位置)
    加入如下配置
node02
node03
node04
  • 修改spark-env.sh.template->spark-env.sh
    加入如下配置
SPARK_MASTER_IP=node01
SPARK_MASTER_PORT=7077
SPARK_WORKER_MEMORY=2G
SPARK_WORKER_INSTANCES=1
SPARK_WORKER_DIR=/自定义目录
  1. 将配置好的安装包发送到其它节点
  2. 这里需要注意一下,spark的启动命令是 start-all.sh,需要将其改为 start-spark.sh,或者以版本号来命名:start-1.6.3.sh,关闭命令亦然防止和Hadoop集群的启动命令发生冲突
mv start-all.sh start-spark.sh 
mv stop-all.sh  stop-spark.sh  
  1. 将配置好的文件夹发送到其他节点
[root@node01 zgl]# scp -r spark-1.6.3 node02:`pwd`
[root@node01 zgl]# scp -r spark-1.6.3 node03:`pwd`
[root@node01 zgl]# scp -r spark-1.6.3 node04:`pwd`
[root@node01 zgl]# scp -r spark-1.6.3 client:`pwd`
  1. 配置Spark环境变量
  2. 在Master节点启动集群(node01)
start-spark.sh
  1. jps检查进程是否启动,在node01有一个Master进程,其它从节点分别有一个Worker进程 也可以进Web UI界面查看http://node01:8080
    在这里插入图片描述
  2. 提交Application到集群中运行,这里以SparkPi为例
spark-submit --master spark://node01:7077 --class org.apache.spark.examples.SparkPi /opt/software/spark1.6.3/lib/spark-examples-1.6.3-hadoop2.6.0.jar 100(100是传递的参数)
  1. 提交之后可以进第9步Web UI查看任务进度,这里不再赘述

Spark Standalone HA

在Standalone集群中也有像HDFS、Yarn一样的高可用机制,在主节点Master挂掉之后,会有一台备用的节点来接管工作,维持集群的正常运行。
同样,Standalone集群也是基于Zookeeper集群来实现的高可用,和hdfs不同的是,Standalone HA中的元数据存储在Zookeeper集群中,通过spark-env.sh中的spark.deploy.zookeeper.dir来配置元数据的存储位置。

集群搭建:

  1. 在spark-env.sh文件中添加如下配置,注意不要手动换行
SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=node02:2181,node03:2181,node04:2181 -Dspark.deploy.zookeeper.dir=/spark"
  1. 将修改后的spark-env.sh发到其他节点的相同目录下
  2. 启动Zookeeper集群
  3. 在 node01节点启动集群
start-spark.sh
  1. 在node02启动备用Master
start-master.sh
  1. 至此,高可用的Standalone集群就搭建完成了,可以在Web UI中查看备用的Master的状态:node02:8080
注意:

这里有个很重要的点,在Spark集群中提交完任务之后,如果把active状态的Master节点进程kill掉,正在执行的任务并不会受到影响,这是因为任务在执行之前已经向Master申请过资源了,任务执行过程中的通讯主要在driver和各个Executor之间,所以主备切换并不会影响任务的执行。

Spark on Yarn

Spark任务在yarn集群中运行的话,只需要提交Spark任务的节点配置好,就可以把任务提交到yarn中运行。

配置

  1. 在客户端的spark-env.sh文件中添加如下配置信息,spark就会去这个位置寻找 hadoop 的配置文件,获取 yarn 集群的信息
HADOOP_CONF_DIR=/opt/zgl/hadoop-2.6.5/etc/hadoop
  1. 开启yarn集群和hdfs,client会把提交的应用程序 jar 包托管在 hdfs 上
  2. 提交任务有两种方式,一种是client,一种是cluster,前者driver进程会在本地启动,后者的driver由主节点随机启动的。
spark-submit --master yarn --class org.apache.spark.examples.SparkPi  /opt/software/spark-1.6.3/lib/spark-examples-1.6.3-hadoop2.6.0.jar  10000
注意

提交任务可能会报下面这个异常,主要是因为虚拟内存超限, contrainer 被 kill,从而导致任务被迫停止

Yarn application has already ended! It might have been killed or unable to launch application master

可以通过在 hadoop 安装包的 yarn-site.xml 文件中配置如下信息来解决

<property>
    <name>yarn.nodemanager.pmem-check-enabled</name>
    <value>false</value>
    <description>是否检查每个任务正使用的物理内存量,如果超过默认值则将其杀死,默认是true </description>
</property>
<property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
    <description>Whether virtual memory limits will be enforced for containers</description>
</property>
Spark集群搭建 一、Spark集群拓扑 (一)集群拓扑 (二)集群角色分配 Spark Standalone模式的集群搭建需要在集群的每个节点都安装Spark集群角色分配如下表所示。 节点 -角色 master Master slave1 Worker slave2 Worker 二、搭建集群 (一)利用SecureCRT登录三台虚拟机 打开连接对话框 1、登录master虚拟机 配置三台虚拟机IP-主机名映射 192.1.. 阅读详情

相关推荐

Spark 集群搭建Standalone 模式详解

通过以上步骤,我们成功搭建了一个 Spark Standalone 集群。这个集群为大数据处理提供了一个高效的计算平台。在实际应用中,我们可以根据业务需求进一步优化集群配置,如调整内存分配、增加节点数量等,以满足大规模数据处理的要求。同时,也要定期对集群进行维护和监控,确保其稳定运行。希望这篇博客能帮助你顺利搭建起自己的 Spark 集群,开启大数据处理之旅!如果你在搭建过程中遇到任何问题,欢迎在评论区留言交流。

2301_80870395的博客 1174

Spark——集群搭建

这里搭建集群只使用spark自身节点运行的集群模式——独立部署(Standalone)模式。 1.上传并解压文件 (1)上传spark-3.0.0-bin-hadoop3.2.tgz文件到/opt/software目录下 (2)解压spark-3.0.0-bin-hadoop3.2.tgz到 /opt/module/目录下 tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz -C /opt/module/ (3)进入/opt/module/目录下 mv spar

Ti__iT的博客 827

基于Zookeeper搭建spark集群

基于Zookeeper搭建spark集群一、前置条件二、Zookeeper集群搭建三、Spark集群搭建 一、前置条件 在搭建集群之前确保linux已安装JDK 三台机器分别为master、slave1、slave2 二、Zookeeper集群搭建 先从官网上下载zookeeper https://zookeeper.apache.org/releases.html 使用rz命令将zookeepe...

sabrinao的博客 974

Spark集群搭建(三台虚拟机)总结

Spark集群搭建(三台虚拟机)1. 实验环境 1. 实验环境 VMware Workstation Pro 15 卡号:ZG50K-0VF80-4892Q-YGYNV-PLKE4 卡号:FU748-2FX5H-M85ZZ-EMPQC-WF8R0 卡号:YC7HK-FQG90-0883Y-ZYZ7E-Q28ZD 阿里云镜像下载ubuntu ubuntu 14.04: http://mirrors....

Flamewaker的博客 5679

Spark 集群搭建实验指南

本文详细介绍了Spark集群的部署与配置过程。部署步骤包括:下载解压Spark安装包、配置环境变量、修改spark-env.sh和workers文件、分发配置文件到所有节点。最后通过启动Spark集群,并采用多维度验证方法(进程检查、Web UI访问和示例程序运行)确保集群正常运行。实验旨在帮助理解Spark架构及其与Hadoop的集成原理,掌握集群配置和故障排查技能。

2301_80817659的博客 1441

spark实验报告

虚拟机:账号:node1、密码:123456finalshell:连接node1。注意ID号要一致。

mjoin2022的博客 1234

Spark集群搭建超详细教程

前言 在上一篇文章《Hadoop集群搭建配置教程》中详细介绍了Hadoop集群搭建的全部过程,今天为大家带来分布式计算引擎Spark集群搭建,还是使用三个虚拟机节点上进行安装部署,围绕Standalone模式和Yarn模式的这两种部署模式进行展开。 集群搭建具体步骤 注意:以下步骤均在hadoop1节点上进行操作,特殊说明除外! Standalone模式 1、下载spark-3.0.0的jar包 下载地址: https://archive.apache.org/dist/spark/spark-3.0.

笑看风云路的博客 1万+

Spark 集群搭建(完整)

如果要在 Yarn 中运行 Spark 程序, 首先会和 RM 交互, 开启 ApplicationMaster, 其中运行了 Driver, Driver创建基础环境后, 会由 RM 提供对应的容器, 运行 Executor, Executor会反向向 Driver 反向注册自己, 并申请 Tasks 执行。对于 Spark Standalone 集群来说, 当 Worker 调度出现问题的时候, 会自动的弹性容错, 将出错的 Task 调度到其它 Worker 执行。

weixin_45131680的博客 7021

基于Hadoop集群Spark集群搭建

基于Hadoop集群Spark集群搭建 一. 单机版Spark搭建 (1)将下载下来的软件包拉至集群中(主节点上) (2)解压至指定目录 (3)将解压下的文件移至某个特定目录下并查看 (4)修改环境变量 (5)使环境变量生效并进入scala命令行测试; (6)解压scala压缩包并放置指定目录; (7)添加环境变量 (8)生效环境变量并测试spark(source .bash_pr...

青澜饮舟的博客 2876

大数据环境搭建Spark集群搭建

作者:Neshoir     Spark是大规模数据集处理的统一分析引擎,其具备批处理、实时数据分析、图计算、机器学习等能力。Spark的特点就是计算快,其计算尽可能的都会在内存里执行,执行任务基于DAG,提供丰富的编程模型接口,如scala,java,python,Spark应用支持运行于各个主流的资源调度平台之上,如Hadoop YARN、Messos、Kubernetes等,当然Spa...

SuperMap技术控 4308

基于Hadoop的Spark集群搭建

title: Spark集群搭建 date: 2020-03-19 19:30:31 tags: Hadoop 基于Hadoop的Spark集群搭建 准备 Spark三种运行模式简介 Local模式 Local 模式是最简单的一种Spark运行方式,它采用单节点多线程(cpu)方式运行,local模式是一种OOTB(开箱即用)的方式,只需要在spark-env.sh导出JAVA_HOME,无需其他任何配置即可使用,因而常用于开发和学习 方式:./spark-shell - -master loca.

qq_45703204的博客 1316

YARN 模式的 Spark 安装配置

在Linux中安装Spark后配置YARN模式

CcfXx2000的博客 678

Spark基础学习笔记05:搭建Spark Standalone模式的集群

Spark基础学习笔记05:搭建Spark Standalone模式的集群

f54268589的博客 580

Spark基础学习笔记05:搭建Spark Standalone集群

文章目录 零、本讲学习目标 搭建Spark Standalone模式的集群 能够启动Spark Standalone模式的集群 学会Spark应用程序的提交 Spark的两种集群运行模式:Spark Standalone模式和Spark On YARN模式。Standalone模式需要启动Spark集群,而Spark On YARN模式不需要启动Spark集群,只需要启动YARN集群即可。先来搭建Spark Standalone模式的集群。一、Spark Standalone架构 Spark Standal

lwmzl00的博客 1341

Spark实验之环境搭建

Spark实验之环境搭建 实验一 Spark环境搭建 一、 实验目的 通过实验掌握Spark运行机制,并了解其内核。 二、 实验要求 搭建Spark运行环境、分析对比Spark的几种运行模式。 三、实验内容 Spark架构 Spark Core:包含Spark的基本功能;尤其是定义RDD的API、操作以及这两者上的动作。其他Spark的库都是构建在RDD和Spark Core之上的 Sp...

大虾米 2075

Spark 集群搭建从零开始之3 Spark Standalone集群安装、配置与测试

1、进入pc1的Spark的conf目录,创建或者修改spark-env.sh export JAVA_HOME=/usr/lib/jvm/java-8-oracle export SCALA_HOME=/chenjie/scala-2.10.4 export HADOOP_HOME=/chenjie/hadoop-2.6.5 export HADOOP_CONF_DIR=/chenjie

陈杰 1168
上一篇: Spark概述
下一篇: 目标关键字存在,IDEA全局搜索搜不到结果
PowerBlogger
博客等级 码龄8年 10粉丝 17原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值