大数据应用-Spark集群的部署

Linux的Spark 环境部署 4.创建软连接 命令: ln -s /export/server/spark-3.5.3-bin-hadoop3 /export/server/spark。命令 scp -r /export/server/spark-3.5.3-bin-hadoop3 wtk1:/export/server/命令: ln -s /export/server/spark-3.5.3-bin-hadoop3 /export/server/spark。这就是spark的安装部署了。此时显示应用程序完成。 阅读详情

集群的规划

一个简单的表格是这么创建的:

节点 功能节点名称节点IP
marster 和 slavezhen(震)192.168.2.5
slavexun(巽)192.168.2.6
slaveli(离)192.168.2.7

1.下载和解压

此步骤假设大家的 Hadoop 集群已经能够无碍的运行, 并且 Linux 的防火墙和 SELinux 已经关闭, 时钟也已经同步:

  1. 下载 Spark 安装包 ,, 下载时候选择对应的 Hadoop 版本(资料中已经提供了 Spark 安装包, 直接上传至集群 Master 即可, 无需遵循以下步骤);

下载 Spark

cd /export/softwares
wget https://archive.apache.org/dist/spark/spark-2.2.0/spark-2.2.0-bin-hadoop2.7.tgz

  1. 解压并拷贝到/usr/local/spark;

解压 Spark 安装包

tar xzvf spark-2.2.0-bin-hadoop2.7.tgz

移动 Spark 安装包

mv spark-2.2.0-bin-hadoop2.7.tgz /usr/local/spark

  1. 修改配置文件spark-env.sh, 以指定运行参数;

cd /usr/local/spark/conf
cp spark-env.sh.template spark-env.sh
vi spark-env.sh

将以下内容复制进配置文件末尾
#指定 Java Home
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_171
#指定 Spark Master 地址
export SPARK_MASTER_HOST=zhen
export SPARK_MASTER_PORT=7077

2.配置

1.修改配置文件 slaves, 以指定从节点为止, 从在使用 sbin/start-all.sh 启动集群的时候, 可以一键启动整个集群所有的 Worker

  • 进入配置目录, 并复制一份新的配置文件, 以供在此基础之上进行修改

cd /export/servers/spark/conf
cp slaves.template slaves
vi slaves

  • 配置所有从节点的地址

zhen
xun
li

2.配置 HistoryServer

  • 默认情况下, Spark 程序运行完毕后, 就无法再查看运行记录的 Web UI 了, 通过 HistoryServer 可以提供一个服务, 通过读取日志文件, 使得我们可以在程序运行结束后, 依然能够查看运行过程
  • 复制 spark-defaults.conf, 以供修改

cd /usr/local/spark/conf
cp spark-defaults.conf.template spark-defaults.conf
vi spark-defaults.conf

  • 将以下内容复制到spark-defaults.conf末尾处, 通过这段配置, 可以指定 Spark 将日志输入到 HDFS 中

spark.eventLog.enabled true
spark.eventLog.dir hdfs://zhen:8020/spark_log
spark.eventLog.compress true

  • 将以下内容复制到spark-env.sh的末尾, 配置 HistoryServer 启动参数, 使得 HistoryServer 在启动的时候读取 HDFS 中写入的 Spark 日志

#指定 Spark History 运行参数
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=4000 -Dspark.history.retainedApplications=3 -Dspark.history.fs.logDirectory=hdfs://zhen:8020/spark_log"

  • 为 Spark 创建 HDFS 中的日志目录

hdfs dfs -mkdir -p /spark_log

分发和运行

1.将 Spark 安装包分发给集群中其它机器

cd /usr/local
scp -r spark root@xun:$PWD

scp -r spark root@li:$PWD

2.启动 Spark Master 和 Slaves, 以及 HistoryServer

cd /usr/local/spark
sbin/start-all.sh
sbin/start-history-server.sh

在这里插入图片描述

Spark 集群高可用搭建

对于 Spark Standalone 集群来说, 当 Worker 调度出现问题的时候, 会自动的弹性容错, 将出错的 Task 调度到其它 Worker 执行

但是对于 Master 来说, 是会出现单点失败的, 为了避免可能出现的单点失败问题, Spark 提供了两种方式满足高可用

使用 Zookeeper 实现 Masters 的主备切换

使用文件系统做主备切换

使用文件系统做主备切换的场景实在太小, 所以此处不再赘述

1.停止 Spark 集群

cd /usr/local/spark
sbin/stop-all.sh

2.修改配置文件, 增加 Spark 运行时参数, 从而指定 Zookeeper 的位置

  • 进入 spark-env.sh 所在目录, 打开 vi 编辑

cd /usr/local/spark/conf
vi spark-env.sh

3.编辑 spark-env.sh, 添加 Spark 启动参数, 并去掉 SPARK_MASTER_HOST 地址
在这里插入图片描述

#指定 Java Home
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_171
#指定 Spark Master 地址
#export SPARK_MASTER_HOST=zhen
export SPARK_MASTER_PORT=7077

#指定 Spark History 运行参数
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=4000 -Dspark.history.retainedApplications=3 -Dspark.history.fs.logDirectory=hdfs://zhen:8020/spark_log"

#指定 Spark 运行时参数
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=zhen:2181,xun:2181,li:2181 -Dspark.deploy.zookeeper.dir=/spark"

4.分发到各个节点上

cd /usr/local/spark/conf
scp spark-env.sh xun:$PWD

scp spark-env.sh li:$PWD

5.启动各个节点

  • 在 zhen(震)主节点 上启动整个集群

cd /usr/local/spark
sbin/start-all.sh
sbin/start-history-server.sh

  • 在 xun(巽)副主节点上单独再启动一个 Master

cd /usr/local/spark
sbin/start-master.sh

6.启动完成

  • .主节点
    在这里插入图片描述
  • .从节点
    在这里插入图片描述

入门例子

1.从示例应用运行中理解 Spark 应用的运行流程

  • 1 进入 Spark 安装目录中

cd /usr/local/spark

  • 2运行spark脚本任务
// An highlighted block
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \ #这个是要执行的路径
--master spark://zhen:7077,xun:7077,li:7077 \ #这里是指定多个master节点,最要一个
--executor-memory 1G \
--total-executor-cores 2 \
/usr/local/spark/examples/jars/spark-examples_2.11-2.2.0.jar \
100 #这个是参数

运行结果:
在这里插入图片描述

Spark on k8s部署 local:///opt/spark/examples/jars/spark-examples_2.12-3.2.3.jar为Spark程序所在的Jar文件,spark-examples_2.12-3.2.3.jar是Spark镜像自带的,所以使用local schema。–conf spark.kubernetes.authenticate.executor.serviceAccountName为前面创建的spark-service-account。编写cluster-role.yaml。 阅读详情

相关推荐

大数据Hadoop运维应用实践——Spark与hadoop集群的整合_独立模式下Spark集群的安装部署

本文是关于Apache Spark独立模式集群配置安装实践教程。主要内容包括:1. Spark核心组件与架构解析;2. 版本选型指南;3. Standalone模式集群部署方案,涵盖环境变量配置、内存分配、核心参数调优等关键技术点;4. 生产级systemd服务配置与Ansible自动化部署脚本;5. 实战演示spark-shell本地/集群模式使用及常见问题解决方案;6. spark-submit任务提交示例。适合作为企业级Spark集群部署的参考手册。

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 515

Spark中各个角色的JVM参数设置

1)Driver的JVM参数: -Xmx,-Xms,如果是yarn-client模式,则默认读取spark-env文件中的SPARK_DRIVER_MEMORY值,-Xmx,-Xms值一样大小;如果是yarn-cluster模式,则读取的是spark-default.conf文件中的spark.driver.extraJavaOptions对应的JVM参数值。 PermSize,如果是yarn

wuxb_2000的专栏 1万+

Kubernetes Dashboard 安装与部署大数据

本文介绍了如何安装和部署Kubernetes Dashboard,并结合大数据场景给出了一个Spark作业的部署示例。Kubernetes Dashboard是一个功能强大的工具,可以帮助我们更好地管理和监控Kubernetes集群中的应用程序和资源。成功登录后,您将看到 Kubernetes Dashboard 的仪表盘界面,可以在这里管理和监控集群中的应用程序和资源。在该文件中,我们定义了一个使用Spark提交的作业,并指定了相关的参数,例如。首先,我们需要编写一个Spark作业的描述文件,例如。

2301_79366177的博客 275

Spark添加/更改集群节点需要修改的配置文件

笔记:在配置好了spark后,如果需要添加/删除一个结点需要修改如下配置文件 cd $HADOOP/etc/hadoop 进入hadoop配置文件夹下 修改 slaves,将对应的节点添加/删除 修改hdfs-site.xml , 修改hdfs副本的数量。 cd $SPARK_HOME/conf 进入spark配置文件夹下 修改slaves,将对应的节点添加/删除 修改sp...

weixin_30550271的博客 1037

Kubernetes Dashboard:安装部署与大数据

Kubernetes Dashboard:安装部署与大数据Kubernetes Dashboard是Kubernetes集群的官方Web界面,可以用于管理、监控和调试Kubernetes集群。在本文中,我们将讨论如何安装和部署Kubernetes Dashboard,并结合大数据场景,展示其用法。

CyberNova的博客 191

基于Kubernetes的大数据数据服务部署方案

资源浪费:物理机/虚拟机资源分配固定,空闲节点资源闲置运维复杂:手动部署、扩容、故障恢复依赖人工经验,效率低弹性不足:大促/峰值时无法快速扩缩容,小流量时资源冗余我们将聚焦K8s在大数据场景中的有状态服务管理(如HDFS NameNode、Kafka Broker)、分布式任务调度(如Spark Driver/Executor)、高可用保障(如ZooKeeper集群)三大核心场景。用“搬家公司”类比K8s核心组件,理解Pod/StatefulSet等概念。

小白菜的博客 839

Spark 集群搭建(完整)

1. Spark 集群结构 名词解释 Driver 该进程调用 Spark 程序的 main 方法, 并且启动 SparkContext Cluster Manager 该进程负责和外部集群工具打交道, 申请或释放集群资源 Worker 该进程是一个守护进程, 负责启动和管理 Executor Executor 该进程是一个JVM虚拟机, 负责运行 Spark Task 运行一个 Spark 程序大致经历如下几个步骤 启动 Drive, 创建 SparkContext Client

beishanyingluo的博客 1万+

大数据产品容器化部署:Kubernetes在大数据平台的应用

本文旨在帮助大数据从业者理解“为什么需要用K8s做容器化部署”“K8s如何适配大数据场景”“如何动手实现”三大核心问题。内容覆盖K8s基础概念、与大数据特性的结合逻辑、实战部署步骤,以及行业前沿趋势。本文从“传统大数据部署的烦恼”故事切入,逐步讲解K8s核心组件与大数据场景的适配逻辑,通过Spark集群容器化的实战案例演示具体操作,最后总结趋势与挑战。:谷歌开源的容器编排系统,负责容器的自动化部署、扩缩容、故障恢复。Pod:K8s最小调度单元,一个或多个容器的集合(类比“公交车”)。

SuperAGI2025 981

Spark大数据环境搭建

请按照下面步骤将其安装进来。(1)打开一个 Linux终端,在其中执行以下命令将 Spark软件包解压到/usr/local目录中,并创建一个软链接文件指向 Spark目录并修改目录的用户属性。(3)再新开一个 Linux终端,在里面输入 jps命令查看 HDFS服务是否在运行,如果没有运行就要先将 HDFS服务启动,正如在配置 HDFS服务时所做的那样。(1)在 Linux终端执行下面的命令安装 pip工具,然后查看一下 pip的版本信息,以及和对应管理的 Python版本。

2401_87153568的博客 662

H.264 Profile与Level详解:如何为不同应用场景选择合适的编码配置

本文深入解析了H.264编码标准中的Profile与Level概念,指导开发者如何为不同应用场景选择合适的配置。文章对比了Baseline、Main和High三大Profile的特性与适用场景,并解释了Level如何限定视频的分辨率、帧率与码率上限。通过实战指南,帮助读者在视频通话、在线点播和专业制作等场景中,平衡画质、兼容性与性能,实现高效编码。

rgv2345678的博客 238

TOPSIS与熵权法实战:从数学建模到Python实现(附国赛案例分析)

本文详细解析了TOPSIS(逼近理想解排序法)与熵权法在数学建模中的协同应用,并通过Python代码实现完整流程。文章以国赛案例为背景,从指标正向化、数据标准化、熵权法计算客观权重,到TOPSIS综合排序,手把手指导如何解决多指标决策问题,为数据分析与建模提供了一套可复用的实战工具箱。

weixin_29079643的博客 245

spark的环境配置

进入spark配置目录后,执行命令:cp spark-env.sh.template spark-env.sh与vim spark-env.sh export JAVA_HOME=/usr/local/jdk1.8.0_162 export SPARK_MASTER_HOST=master export SPARK_MASTER_PORT=7077 JAVA_HOME:指定JAVA_HOME的路径。若集群中每个节点在/etc/profile文件中都配置了JAVA_HOME,则该选项可以省略,Spark集群启

lookqinghuaci的博客 3285

Shopee动态参数x-sap-Ri与x-sap-Sec逆向解析实战

现代电商前端反爬普遍采用动态参数校验机制,其核心是将设备指纹、DOM状态与时间上下文耦合生成不可复用的请求凭证。x-sap-Ri本质是渲染上下文唯一标识,依赖真实浏览器环境中的DOM树结构、Canvas像素指纹及毫秒级时间扰动;x-sap-Sec则是基于该标识与服务端同步密钥生成的HMAC-SHA256签名,具备强时效性与密钥轮换特性。这类机制显著提升了自动化采集门槛,广泛应用于Shopee商品详情页等高价值数据接口。本文聚焦于从Chrome DevTools调试出发,系统还原参数生成逻辑,覆盖DOM一致性

weixin_30603633的博客 896

大数据应用之 --- spark 3.2.1 集群安装部署

大数据应用之 --- spark3.2.1

qq_41187116的博客 1252

手把手教你用UC3844设计多路输出反激电源(附PCB布局避坑指南)

本文详细介绍了使用UC3844设计多路输出反激电源的实战技巧,包括核心电路设计、变压器参数计算、PCB布局优化及EMI抑制方法。通过实验室实测数据和项目经验,帮助工程师避开常见设计陷阱,提升电源性能和可靠性。特别附赠PCB布局避坑指南,助力高效完成开关电源设计。

weixin_30300225的博客 568

【论文速读】MLDT:基于开源大语言模型的复杂长时机器人任务规划多层次分解方法

—在数据驱动的人工智能技术领域,开源大语言模型(LLMs)在机器人任务规划中的应用是一个重要的里程碑。近期基于开源大语言模型的机器人任务规划方法通常利用大量的任务规划数据集来提升模型的规划能力。虽然这些方法展现出了一定的前景,但它们在处理复杂长时任务时存在困难,因为这类任务需要理解更多的上下文信息并生成更长的动作序列。本文提出多层次分解任务规划方法(MLDT)来解决这一局限性。该方法创新性地在目标级、任务级和动作级对任务进行分解,以应对复杂长时任务带来的挑战。

muyulingfengye的博客 1646

10分钟部署!Apache Spark Docker集群:从0到1构建企业级大数据平台

你是否还在为Apache Spark(阿帕奇火花)集群的复杂配置而头疼?手动安装JDK、配置Hadoop环境、调整节点间网络...这些繁琐步骤往往需要数小时甚至数天,让数据科学家和工程师望而却步。今天,我们将介绍如何利用Docker容器技术,通过Big Data Europe提供的`docker-spark`项目,在10分钟内搭建起一个功能完备的Spark集群,让你专注于数据处理逻辑而非环境配置。...

gitblog_00022的博客 527

对称加密中GCM和CBC俩种加密模式的区别

**CBC(Cipher Block Chaining)** 和 **GCM(Galois/Counter Mode)** 是两种常见的对称加密模式。它们的主要区别体现在加密方式、性能和安全性上。

闲人 1107

spark_基础知识

spark_day01学习笔记 1、课程目标 1、掌握spark相关概念 2、掌握搭建一个spark集群 3、掌握编写简单的spark应用程序 2、spark概述 2.1 spark是什么 Apache Spark™ is a unified analytics engine for large-scale data processing. spark是一个针对于大规模数据处理的统一分...

qq_37998450的博客 622

YOLO26全网首发:CVPR2026 FAA| 解决YOLO Neck跨尺度方向冲突--- FAAFusion频域对齐融合模块 | 暴力涨点篇

本文改进:FAAFusion引入YOLO neck ,代替nn.Upsample和Concat

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 644

SAP_SD模块深度解析SAP信用检查中的“未清数量”取值逻辑

确认数量 vs 订单数量:如果系统配置了可用性检查(ATP),并且订单只确认了部分数量,信用检查通常只占用已确认数量的额度(具体取决于信用组的配置)。在SAP中,未清订单数量的计算并非简单读取订单行项目的目标数量(VBAK-KWMENG),而是基于**计划行(Schedule Lines)**层级来汇总的。状态的转换点:当交货单创建(VL01N)并保存时,这部分数量对应订单的“未清订单数量”减少,“未清交货数量”增加。业务人员眼中的未清数量很简单:“我卖了100个,发了30个,未清就是70个”。

我小时候很黑的博客 313

大数据实践的Vagrant自动化虚拟集群创建以及Ansible应用部署

在大数据教学实践中,经常需要采用虚拟化技术模拟大数据集群,并学习各项大数据技术栈路线。通过一些自动化技术,方便我们反复创建各种学习环境,使得我们能够专注各项技术栈学习,克服创建环境和配置的重复而复杂的过程。

liu9ang的博客 617

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Spark 秘籍(一)

Hadoop 作为大数据平台的成功提高了用户的期望,无论是在解决不同的分析挑战还是减少延迟方面。随着时间的推移,出现了各种工具,但当 Apache Spark 出现时,它提供了一个单一的运行时来解决所有这些挑战。它消除了将多个工具结合在一起的需要,这些工具都有自己的挑战和学习曲线。通过在计算之外使用内存作为持久存储,Apache Spark 消除了在磁盘上存储中间数据的需要,并将处理速度提高了 100 倍。它还提供了一个单一的运行时,可以使用各种库来满足各种分析需求,如机器学习和使用各种库进行实时流处理。

龙哥盟 946

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

【1-3章】Spark编程基础(Python版)

大数据技术概述、Spark设计与运行原理、Spark环境搭建和使用方法

qq_43629945的博客 3998

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【DataMagic】如何在万亿级别规模的数据量上使用Spark

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由鹅厂新鲜事儿发表于云+社区专栏 作者:张国鹏 | 腾讯 运营开发工程师 一、前言 Spark作为大数据计算引擎,凭借其快速、稳定、简易等特点,快速的占领了大数据计算的领域。本文主要为作者在搭建使用计算平台的过程中,对于Spark的理解,希望能给读者一些学习的思路。文章内容为介绍Spark在DataMagic平台扮演的角色、如...

QcloudCommunity的博客 365

spark入门知识讲解和基础数据操作编程(统一用scala编程实例)

在我的上一篇博文中:http://blog.youkuaiyun.com/zfszhangyuan/article/details/52538108 讲如何应用scala编程完成用户的在线时长和登录次数在spark上的求解方式。 讲到这里有同学可能对编程完后如何将程序放到线上spark集群上运行以及如何理解spark框架在大数据架构体系中的位置及其基本原理有所疑问。

zfszhangyuan的博客 4127
上一篇: 4.Spring Security 图片验证码技术
下一篇: 从零到一编写一个 spark 程序并提交到集群中运行
精诚所至金石为开
博客等级 码龄8年 12粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值