云计算与大数据——Spark的安装和配置

云计算与大数据——Spark的安装和配置

Spark的简单介绍:

Apache Spark是一个基于内存的分布式计算框架,它提供了高效、强大的数据处理和分析能力。与传统的Hadoop MapReduce相比,Spark的主要优势在于其能够将数据集缓存在内存中,从而大大减少了磁盘I/O操作,提高了数据处理速度。

Spark提供了多种编程接口,包括Scala、Java、Python和R等,同时还提供了交互式Shell,易于使用和快速调试。Spark的核心是分布式的RDD(Resilient Distributed Datasets),它对数据进行了抽象和封装,方便了数据的处理和管理。

Spark还可与多种数据存储系统集成,包括Hadoop HDFS、Apache Cassandra、Amazon S3等。同时,Spark还提供了多种高级库和工具,如Spark SQL、Spark Streaming、MLlib等,方便进行数据查询、流式处理和机器学习等任务。

总之,Spark已经成为了目前最受欢迎的大数据计算框架之一,广泛应用于数据处理、机器学习、实时数据处理等领域。
在这里插入图片描述

安装和配置

在安装和配置Spark之前,要确保Hadoop 已经成功安装,并正常启动。没有部署好hadoop的可以查看之前的文章。
云计算与大数据——部署Hadoop集群并运行MapReduce集群(超级详细!)

Spark安装在 HadoopMaster节点上。下面的所有操作都在HadoopMaster节点上进行。
1)解压并安装Spark
本文章所需要的spark安装包已上传到个人博客主页→资源处,有需要的小伙伴可以自行下载。
tar -zxvf spark-3.3.0-bin-hadoop3.3.2.tgz安装包

也可以在网盘里面下载:
链接:https://pan.baidu.com/s/1aI6djw4B-3Pz_AAkDBJ5WQ?pwd=1234

使用下面的命令,解压Spark 安装包:

tar -zxvf spark-3.3.0-bin-hadoop3.3.2.tgz

在这里插入图片描述
执行ls -l命令后的界面如下图所示,这些内容是Spark包含的文件。
在这里插入图片描述

cd bin
./spark-shell

执行spark-shell命令后的界面如图所示。
在这里插入图片描述
配置Hadoop环境变量
在Yarn上运行Spark需要配置环境变量

Vim ~/.bashrc

在这里插入图片描述
修改内容后保存退出。

Source ~/.bashrc

使配置生效。
在这里插入图片描述
验证spark安装
进入Spark安装主目录,执行如下命令。

1.Spark 在YARN上运行,以集群模式启动Spark应用程序
这里指定使用 YARN 集群管理器作为主节点。
先执行这个命令:

bin/spark-submit \
> --class org.apache.spark.examples.SparkPi \
> --master yarn \
> --deploy-mode cluster \
> ./examples/jars/spark-examples_2.12-3.3.0.jar \
> 10

bin/spark-submit:启动 Spark 应用程序提交工具。
–class org.apache.spark.examples.SparkPi:指定要运行的 Java 类,这里使用了 Spark 官方提供的计算 pi 数值的例子程序 SparkPi。

–master yarn:设置 Spark 应用程序的主节点 URL,这里指定使用 YARN 集群管理器作为主节点。

–deploy-mode cluster:指定应用程序的部署模式。在这种模式下,Spark 驱动程序将在 YARN 集群中启动,并协调整个应用程序。另一种可选的部署模式是 client 模式,其中驱动程序会直接在提交命令的客户端上启动。

./examples/jars/spark-examples_2.12-3.3.0.jar:指定要提交的应用程序代码包的位置和名称。在这个例子中,使用了 Spark 的示例程序提供的 JAR 文件。

指定运行 Spark 应用程序时要传递给它的参数。在这个例子中,将计算 pi 数值的精度设置为 10。

启动脚本调用的是spark-submit,所以直接看bin/spark-submit脚本,跟spark-shell一样,先检查是否设置了${SPARK_HOME},然后启动spark-class,并传递了org.apache.spark.deploy.SparkSubmit作为第一个参数,然后把前面Spark-shell的参数都传给spark-class

–master 指定master节点
–class 指定执行的类
–executor-memory executor内存大小
–total-executor-cores 总的executor 数目

不对核心数目做限制的时候,是最快的。只有两个核心的时候,很慢。
运行截图如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.然后我们再这里设置为本地模式local并使用两个 CPU 核心启动。

bin/spark-submit --class org.apache.spark.examples.SparkPi --master local[2]  --num-executors 2 --driver-memory 1g --executor-memory 1g --executor-cores 1 ./examples/jars/spark-examples_2.12-3.3.0.jar 10

其中
bin/spark-submit:启动 Spark 应用程序提交工具。
–class org.apache.spark.examples.SparkPi:指定要运行的 Java 类,这里使用了 Spark 官方提供的计算 pi 数值的例子程序 SparkPi。

–master local[2]:设置 Spark 应用程序的主节点 URL,这里设置为本地模式并使用两个 CPU 核心。实际上,Spark 可以连接到许多不同类型的集群管理器(例如 YARN、Mesos 或 Kubernetes)作为主节点。

–num-executors 2:设置 Spark 应用程序要使用的执行器数量。在本地模式下,这通常应该小于或等于计算机的 CPU 核心数。

–driver-memory 1g:设置驱动程序进程可以使用的内存量。 Spark 驱动程序负责协调整个应用程序,并将结果返回给客户端或保存到磁盘中。

–executor-memory 1g:设置每个执行器进程可以使用的内存量。执行器进程是 Spark 在集群中实际执行计算任务的工作者。

–executor-cores 1:设置每个执行器进程可以使用的 CPU 核心数量。

./examples/jars/spark-examples_2.12-3.3.0.jar:指定要提交的应用程序代码包的位置和名称。在这个例子中,使用了 Spark 的示例程序提供的 JAR 文件。

我们在这里指定运行 Spark 应用程序时要传递给它的参数。
在这里插入图片描述
运行正常出现的界面信息:

在这里插入图片描述

在这里插入图片描述
新建一个终端,进入到hadoop目录下的userlogs日志文件,找到了我们的spark应用结果日志文件,可以在里面找到计算结果和相关信息。

cd $HADOOP_HOME/logs/userlogs
ls

在这里插入图片描述

cd application_1668847055201_0007
ls

在这里插入图片描述

查看执行结果文件信息

cat container_1668847055201_0007_01_000001/stdout

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
其中计算结果和相关运行信息如下图所示。我们可以看到Spark 应用程序成功地计算出了 pi 数值的近似值,并将结果打印到了控制台上。结果中的 Pi is roughly 3.1416631416631415 表示计算出的 pi 的近似值为 3.1416631416631415。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

openssl创建CA证书教程

配置生成CA证书 总示意图: (1),通过openssl创建CA证书 第一步:创建一个秘钥,这个便是CA证书的根本,之后所有的东西都来自这个秘钥 # 通过rsa算法生成2048位长度的秘钥 openssl genrsa -out myCA.key 2048 第二步&#…

ue5读取自定义文件夹中内容

一、复制文件夹到Content内 二、读取文件内容,直接使用相对路径就可以了/Content,Resource Bundle存储文件夹名的变量。Load Text为自定义的读取json文件的方法,我之前的文章讲了怎么操作。 ue5读取外部文件_艺菲的博客-CSDN博客 三、根据js…

[FineReport]安装与使用(连接Hive3.1.2)

一、安装(对应hive3.1.2) 注:服务器的和本地的要同时安装。本地是测试环境,服务器的是生产环境 1、服务器安装 1、下载 免费下载FineReport - FineReport报表官网 向下滑找到 2、解压 [rootck1 /home/data_warehouse/software]# tar -zxvf tomcat…

OpenAI宣布ChatGPT支持互联网浏览;GPT-4V(ision)介绍

🦉 AI新闻 🚀 OpenAI宣布ChatGPT支持互联网浏览 摘要:OpenAI宣布ChatGPT现在可以浏览互联网,由微软必应提供支持,并提供直接来源链接。这一功能对于需要最新信息的任务特别有用,如技术研究、购买商品或选…

2023年【汽车驾驶员(高级)】报名考试及汽车驾驶员(高级)考试内容

题库来源:安全生产模拟考试一点通公众号小程序 汽车驾驶员(高级)报名考试根据新汽车驾驶员(高级)考试大纲要求,安全生产模拟考试一点通将汽车驾驶员(高级)模拟考试试题进行汇编&…

YOLOv7改进:CBAM注意力机制

目录 1.介绍 1.1、论文的出发点 1.2、论文的主要工作 1.3、CBAM模块的具体介绍 2.YOLOv7改进 2.1yaml 配置文件如下 2.2common.py配置 2.3yolo.py配置 1.介绍 1.1、论文的出发点 cnn基于其丰富的表征能力,极大地推动了视觉任务的完成,为了提高…

QQ聊天记录文件怎么恢复?这3个方法亲测有效

QQ为用户提供了聊天、语音、视频、在线游戏、社交分享等丰富的功能,满足了用户的各种通讯以及娱乐需求。无论是现在还是过去,QQ仍然在我们的生活中扮演着重要的角色。 如果在使用QQ的过程中,发现文件过期或者被删除了该怎么办?qq…

高性能MySQL第四版

主要列出与第三版的区别 第一章、MySQL架构 MySQL逻辑架构 左右分别是第三和第四版。 第四版架构图里把第二层的“查询缓存”去掉了,也去掉了对应的文字描述。 连接管理和安全 “每个 客户 端 连接 都会 在 服务器 进程 中 拥有 一个 线程” 第四版对这句话增…

基于微信小程序的奶茶点餐小程序设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言系统主要功能:具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…

【力扣2057】值相等的最小索引

👑专栏内容:力扣刷题⛪个人主页:子夜的星的主页💕座右铭:前路未远,步履不停 目录 一、题目描述二、题目分析 一、题目描述 题目链接:值相等的最小索引 给你一个下标从 0 开始的整数数组 nums …

文件的随机读写函数:ftell rewind

目录 函数介绍: ftell: 函数原型: 举例: 文件内容展示: 代码操作: 结果: rewind: 函数原型: 举例: 文件内容展示: 代码操作&#xff1…

[C++随笔录] stack queue使用

stack && queue使用 stackqueue题目训练 stack 栈的特点是 先进后出(first in last out) 我们可以看出, stack的接口相比 vector/string/list 的接口少的太多了 构造函数 && 容器适配器 容器适配器的含义: 首先, 适配器 — — 用户传数据进来, 我们用合适的…

Vulnhub-driftingbules:5 靶机复现完整过程

kali的IP地址:192.168.200.14 靶机IP地址:192.168.200.60 一、信息收集 1.对利用nmap目标靶机进行扫描 由于arp-scan属于轻量级扫描,在此直接使用nmap进行对目标靶机扫描开放端口 nmap -A -p 1-65535 192.168.200.60使用nmap扫描 开放的端…

Unity引擎更新收费模式:从收入分成转向游戏安装量,将会有哪些影响呢

一、前言 Unity 引擎宣布自 2024 年 1 月 1 日起,将根据游戏安装量对开发者进行收费。官网通知如下 收费模式如图 这张图的大致意思就是, 从2024年1月1日开始,Unity将对所有达标的用户(开发者)根据游戏安装量征收“安…

STM32 NVIC中断优先级管理通过结构图快速理解

STM32 NVIC中断优先级管理通过结构图快速理解 📑抢占优先级和响应优先级基本常识 🌿抢占优先级的级别高于响应优先级。🌿抢占优先级数值编号越小,所代表的优先级就越高;同理,响应优先级也是如此。&#x1…

存档&改造【02】下载文件模板 打印二维码样式设置

1.下载文件模板 文件模板获取得先设置好全局变量和获取文件URL 声明变量 function fileDownload(url, name) {return new Promise((resolve, reject) > {var xhr new XMLHttpRequest();xhr.open("GET", url, true); // 也可以使用POST方式,根据接口…

Redis的安装与基本使用

文章目录 Linux 环境下安装Redis下载Redis 安装包解压安装包安装Redis进入redis安装包下编译并且安装到指定目录下 启动redis配置远程访问找到Redis.config文件 Windows 环境下安装Redis说明官方提供方式安装或启用WSL2在WSL(Ubuntu)上安装Redis启动Redi…

【三次握手、四次挥手】TCP建立连接和断开连接的过程、为什么需要三次握手,为什么需要四次挥手、TCP的可靠传输如何保证、为什么需要等待2MSL等重点知识汇总

目录 三次握手 为什么握手需要三次 四次挥手 为什么挥手需要四次 TCP的可靠传输如何保证 TIME_WAIT等待的时间是2MSL 三次握手 三次握手其实就是指建立一个TCP连接。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的…

IOTE 2023国际物联网展直击:芯与物发布全新定位芯片,助力多领域智能化发展

IOTE 2023国际物联网展,作为全球物联网领域的盛会,于9月20日在中国深圳拉开帷幕。北斗星通集团应邀参展,旗下专业从事物联网、消费类GNSS芯片研发设计的芯与物公司也随其亮相本届盛会。 展会上,芯与物展示了一系列创新的GNSS定位…

Spring 学习(四)注解实现自动装配及注解开发

1. 注解实现自动装配 JDK 1.5 开始支持注解&#xff0c;Spring 2.5 开始支持注解。 使用须知 导入约束 配置注解的支持&#xff08; <context:annotation-config/> &#xff09; <?xml version"1.0" encoding"UTF-8"?> <beans xmlns&qu…