当前位置: 首页 > news >正文

全国职业院校技能大赛(大数据赛项)-平台搭建Spark、Scala笔记

        Spark作为一个开源的分布式计算框架拥有高效的数据处理能力、丰富的生态系统、多语言支持以及广泛的行业应用。Scala是一种静态类型的编程语言,它结合了面向对象编程和函数式编程的特性,被誉为通用的“大数据语言”。而二者的结合更能迸发出新奇的化学反应,由于Spark和Scala都是用相同的JVM语言编写的,使得它们之间的互操作性非常高。而且Scala的表达能力使得编写Spark应用程序的代码更简洁。二者不仅在实际业务中广泛应用,在全国职业院校技能大赛中更是有两大模块都需要这两个的知识,其中就包括今天要给大家分享的Spark、Scala的环境搭建知识,话不多说,走起!!

        在搭建之前大家要先保证自己虚拟机中已经有JDK,而且Hadoop环境运行起来了,小编今天使用的是CentOS 7系统,软件对应23年国赛的版本,Spark为3.1.1,Scala为2.12.11

        一、解压两个包到/opt/module下

tar -zxvf /opt/software/spark-3.1.1-bin-hadoop3.2.tgz -C /opt/module/
tar -zxvf /opt/software/scala-2.12.11.tgz -C /opt/module/
  • tar: 这是命令的主体,代表要使用的工具是tar。

  • -zxvf: 这是tar命令的选项,可以拆分为四个部分来理解:

    • -z: 这个选项告诉tar命令归档文件是通过gzip压缩的。这意味着tar在解包之前需要先解压缩gzip压缩的文件。
    • -x: 表示要执行的是解压操作(extract),即从归档文件中提取文件。
    • -v: 表示在解包过程中显示详细的过程信息(verbose),即会显示正在被解压的文件名等信息。
    • -f: 这个选项后面紧跟着的是要处理的归档文件的名称。它告诉tar命令接下来要指定的参数是归档文件的名称,而不是其他选项或参数。

        二、更改名称(这步可省略)

mv spark-3.1.1-bin-hadoop3.2 spark
mv scala-2.12.11 scala
  • mv:代表“move”的缩写,用于移动文件或目录,或者重命名文件或目录。

        三、配置环境变量

vim /etc/profile

        在文件中写入

export	SPARK_HOME=/opt/module/spark
export	SCALA_HOME=/opt/module/scala
export	PATH=$PATH:$SPARK_HOME/bin:$SCALA_HOME/bin
export	PATH=$PATH:$SPARK_HOME/sbin

        四、配置文件的配置

        首先进入到spark/conf目录下,随后复制spark的默认配置文件,我们后续的更改都在这个副本中

cd /opt/module/spark/conf/
cp spark-env.sh.template spark-env.sh

        在spark-env.sh文件中添加:

export	SCALA_HOME=你的Scala地址
export	JAVA_HOME=你的JDK地址
export	SPARK_MASTER_IP=你的主机IP
export	SPARK_WORKER_MEMORY=1g
export	HADOOP_CONF_DIR=/opt/module/hadoop/etc/hadoop
export	SPARK_MASTER_HOST=你的主机IP
export	SPARK_MASTER_PORT=7077
export	SPARK_WORKER_HOST=你的主机IP
export	SPARK_WORKER_PORT=7078

        然后我们复制conf目录下的workers.template文件,workers.template文件是一个模板文件,用于配置Spark集群中的工作节点,我们一般是将其复制为workers文件进行配置系列工作节点的主机名或IP地址,每行一个。这些工作节点是Spark集群中用于执行任务的物理或虚拟机器。在集群启动时,主节点会读取workers文件并根据文件中列出的工作节点来启动和管理它们。

cp workers.template workers
vim workers你的主机IP
你的从机IP
你的从机IP

        五、关联Spark和Hive,分发文件和环境变量

        将hive中conf下面的hive-site.xml传输到spark的conf下(如果你想直接使用spark-sql操作Hive的话)Spark在访问Hive表时,需要知道Hive元数据的存储位置,以便能够正确地读取和写入Hive表。通过将hive-site.xml文件放置在Spark的conf目录下,Spark可以读取这个文件中的配置信息,从而定位到Hive的元数据仓库。

cp /opt/module/hive/conf/hive-site.xml /opt/module/spark/conf/

        然后我们将Spark、Scala的文件和环境变量分发到另外两台机器中(注意下面的主机名改成自己的)

scp -r /opt/module/spark root@slave1:/opt/module/
scp -r /opt/module/spark root@slave2:/opt/module/
scp -r /opt/module/scala root@slave1:/opt/module/
scp -r /opt/module/scala root@slave2:/opt/module/
scp -r /etc/profile root@slave1:/etc/
scp -r /etc/profile root@slave2:/etc/

        随后我们生效环境变量(注意三台都要生效)

source /etc/profile

        六、启动Spark

        进入到/opt/module/spark/sbin/文件夹下

./start-all.sh

        启动之后查看自己是否有这些进程

        最后我们输入spark-shell命令,只要可以进来,基本就是没问题啦!

        spark和scala这两个组件在我们平台搭建中属于比较简单的一部分,但是大家也不能掉以轻心,往往是越简单的部分越容易出错嘛。

        随后小编也会发很多关于咱们职业院校技能大赛的相关笔记和知识点,大家如果对这个竞赛感兴趣的话,可以私信小编,一起共同学习。

相关文章:

全国职业院校技能大赛(大数据赛项)-平台搭建Spark、Scala笔记

Spark作为一个开源的分布式计算框架拥有高效的数据处理能力、丰富的生态系统、多语言支持以及广泛的行业应用。Scala是一种静态类型的编程语言,它结合了面向对象编程和函数式编程的特性,被誉为通用的“大数据语言”。而二者的结合更能迸发出新奇的化学反…...

【Java】JVM基本组成

一、JDK、JRE、JVM JDK:全称 “Java Development Kit” Java 开发工具包,提供 javac编译器、jheap、jconsole 等监控工具; JRE:全称 “Java Runtime Environment” Java 运行环境,提供 class Library 核心类库JVM; …...

解决【WVP服务+ZLMediaKit媒体服务】加入海康摄像头后,能发现设备,播放/点播失败,提示推流超时!

环境介绍 每人搭建的环境不一样,情况不一样,但是原因都是下面几种: wvp配置不当网络端口未放开网络不通 我搭建的环境: WVP服务:windows下,用idea运行的源码 ZLM服务:虚拟机里 问题描述 1.…...

淘宝商品详情接口item_get响应参数解析:props、props_list、prop_img

在电商数据分析和应用开发中,淘宝商品详情接口item_get是一个至关重要的工具。通过该接口,开发者可以高效地获取淘宝平台商品的详细信息,从而优化商品展示、搜索、推荐等功能,提升用户体验和转化率。本文将详细解析item_get接口的…...

Android使用OpenCV 4.5.0实现扑克牌识别(源码分享)

一、显示效果展示 二、OpenCV 4.5.0 OpenCV 4.5.0是OpenCV(Open Source Computer Vision Library,开源计算机视觉库)的一个重要更新版本,该版本在多个方面进行了优化和新增了多项功能。 三、ONNX模型 ONNX(Open Neu…...

Pandas_iloc_loc_哪个是inclusive哪个是exclusive

iloc 和 loc 包括不包括结尾写的那个行(列)? 不一样! iloc[istart:iend] exclusive on iend 不包括结尾那行(列)! loc[start:end] inclusive on end 包括结尾那行(列)&am…...

python是什么语言写的

Python是一种计算机程序设计语言。是一种面向对象的动态类型语言。现今Python语言很火,可有人提问,这么火的语言它的底层又是什么语言编写的呢? python是C语言编写的,它有很多包也是用C语言写的。 所以说,C语言还是很…...

python编程,把所有子目录和文件输出到文本文件

要将所有子目录和文件输出到文本文件,你可以使用Python的os模块来遍历目录结构,并将结果写入文件。以下是一个简单的Python脚本示例,它会递归地遍历指定目录,并将每个子目录和文件的相对路径写入到一个文本文件中: im…...

使用 IntelliJ IDEA 连接到达梦数据库(DM)

前言 达梦数据库是一款国产的关系型数据库管理系统,因其高性能和稳定性而被广泛应用于政府、金融等多个领域。本文将详细介绍如何在 IntelliJ IDEA 中配置并连接到达梦数据库。 准备工作 获取达梦JDBC驱动: 访问达梦在线服务平台网站或通过其他官方渠道…...

【Python报错已解决】AttributeError: ‘WindowsPath‘ object has no attribute ‘rstrip‘

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 专栏介绍 在软件开发和日常使用中,BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…...

Java中的事件(动作监听-ActionListener)

(一)、ActionListener接口 ActionListener接口用于处理用户界面上的动作事件,例如:按钮点击、菜单选择等。实现ActionListener接口需要重写actionPerformed(ActionEvent e)方法,该方法会在动作发生时被调用。 &#…...

STM32篇:开发环境安装

编程语言:C语言 需要安装的软件有两个:Keil5 和 STM32CubeMX 一.Keil5 的安装 使用 Keil4 写 STM32 代码其实也是可以,但需要很复杂的配置,不建议新手操作。 比较推荐 Keil5 编写 STM32 ,只需要一些简单的设置就可…...

AIGC实战——多模态模型Flamingo

AIGC实战——多模态模型Flamingo 0. 前言1. Flamingo 架构2. 视觉编码器3. Perceiver 重采样器4. 语言模型5. FIamingo 应用小结系列链接0. 前言 我们已经学习了文本生成图像模型 DALL.E 2,在本节中,我们将探索另一种多模态模型 Flamingo,它可以根据给定文本和视觉数据流生…...

如何在WordPress中添加事件Schema(分步指南)

如果你正在举办一个在线活动,那么你可能正在寻找通过网络宣传的方法。此时,模式标记可以帮助你在搜索引擎结果中提高活动的可见性。 活动模式将帮助谷歌和其他搜索引擎更好地理解你的活动详情,使它们能够在活动列表、丰富摘要和谷歌知识面板…...

守护企业资产安全:企业微信群禁止互加好友操作指南!

为了防止其他公司的人员混入发起私聊,导致客户资源流失,禁止互加好友十分重要。而软件自带群防骚扰功能,设置好相关规则后,群内成员触发规则会被踢出群聊。 进入工作台-点击更多-选择客户群-选择防骚扰-选择配制企业成员防骚扰规…...

【QT基础】创建项目项目代码解释

目录 前言一,使⽤Qt Creator 新建项目1. 新建项目2. 选择项⽬模板3. 选择项⽬路径4. 选择构建系统5. 填写类信息设置界⾯6. 选择语⾔和翻译⽂件7. 选择Qt套件8. 选择版本控制系统9. 最终效果 二,项目代码说明1. main.cpp文件2. Widget.h文件3. Widget.cp…...

【数据结构】对象的比较

Java数据类型分为基本数据类型和引用类型,基本数据类型可以直接比较大小,对于引用类型的变量不能直接比较。下面来讲解Java对象的比较。 目录 equals比较 Comparble接口类的比较 基于比较器比较 equals比较 equals是Object类中的方法,只能…...

代码随想录八股训练营第四十天| C++

目录 一、什么是菱形继承? 1.1.菱形继承的示例: 1.2.菱形继承的问题: 1.3.解决菱形继承问题: 二、C中的多线程同步机制? 2.1.互斥锁(Mutex): 2.2.递归互斥锁(Recursive Mutex&#xff09…...

【C++】10道经典面试题带你玩转二叉树

🦄个人主页:修修修也 🎏所属专栏:C ⚙️操作环境:Leetcode/牛客网 目录 一.根据二叉树创建字符串 二.二叉树的层序遍历 三.二叉树的层序遍历 II 四.二叉树的最近公共祖先 五.二叉搜索树与双向链表 六.从前序与中序遍历序列构造二叉树 七.从中序与后序遍历…...

【裸机装机系列】13.kali(ubuntu)-优化-自定义grub启动界面个性化背景

推荐阅读: 1.kali(ubuntu)-为什么弃用ubuntu,而选择基于debian的kali操作系统 当裸机安装了linux之后,开机的时候总会让人误会是黑客,还是优化一下开机界面吧,毕竟是日常开发使用。 注:修改有grub启动项有…...

4种颠覆性组合:重构Pixelle-Video的模块化潜能

4种颠覆性组合:重构Pixelle-Video的模块化潜能 【免费下载链接】Pixelle-Video 🚀 AI 全自动短视频引擎 | AI Fully Automated Short Video Engine 项目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video 想象一下:输入&qu…...

嵌入式开发避坑:S19/SREC文件地址重映射时,如何避免覆盖有效数据?

嵌入式开发实战:S19文件地址重映射的安全操作指南 在嵌入式系统开发中,固件升级和内存布局调整是工程师经常面临的挑战。当需要将校准参数、配置表等关键数据移动到新的内存区域时,如何确保操作的安全性成为关键问题。许多开发者都曾遇到过这…...

【202期】新版VMware虚拟机汉化包

VMR虚拟机自从2025年被博通收购后,从新版开始官方就不再支持中文了。所以今天给各位找到了一个简体中文语言包,使用方式也是非常简单。解压与准备全部解压好之后,打开解压好的目录。执行汉化处理双击这个脚本文件进行汉化前的处理。复制到安装…...

从蓝图到落地:基于IEEE 830标准构建数字化车间需求规格说明书

1. 为什么数字化车间需要IEEE 830标准? 在汽车制造车间推进数字化转型时,我见过太多团队一上来就急着写代码、买设备,结果系统上线后才发现功能与业务脱节。这时候IEEE 830标准就像一份施工蓝图,它能帮我们把模糊的"数字化愿…...

手把手教你用wget和迅雷搞定nuScenes数据集下载(附完整性校验命令)

高效获取nuScenes数据集的两种技术方案与完整性验证指南 在自动驾驶与计算机视觉研究领域,nuScenes数据集因其丰富的传感器数据和精细的标注体系已成为行业基准测试的重要资源。但对于大多数研究者而言,获取这个总容量超过550GB的数据集却面临着网络不稳…...

机器人学习快速入门指南:掌握Open X-Embodiment开源数据集

机器人学习快速入门指南:掌握Open X-Embodiment开源数据集 【免费下载链接】open_x_embodiment 项目地址: https://gitcode.com/gh_mirrors/op/open_x_embodiment 想要快速入门机器人学习领域?Open X-Embodiment为你提供了一个完整的机器人学习开…...

5分钟快速上手:FlicFlac音频格式转换工具完全指南 [特殊字符]

5分钟快速上手:FlicFlac音频格式转换工具完全指南 🎵 【免费下载链接】FlicFlac Tiny portable audio converter for Windows (WAV FLAC MP3 OGG APE M4A AAC) 项目地址: https://gitcode.com/gh_mirrors/fl/FlicFlac 还在为不同设备间的音频格式…...

Perplexity事实核查引擎技术白皮书(2024Q3最新架构拆解)

更多请点击: https://kaifayun.com 第一章:Perplexity事实核查引擎的演进脉络与核心定位 Perplexity事实核查引擎并非从零构建的全新系统,而是深度整合学术验证机制、实时知识图谱更新能力与多源交叉比对逻辑的第三代事实推理基础设施。其演…...

一键解决Windows运行库问题:Visual C++ AIO完整安装指南

一键解决Windows运行库问题:Visual C AIO完整安装指南 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的困扰:新下载…...

别再死记硬背了!用Verilog/SystemVerilog手把手教你理解Decoder、Mux和Selector的电路本质

从Verilog代码反推Decoder与Mux的硬件本质:写给会看电路图但写不出代码的工程师 当你第一次在教科书上看到2-4解码器的门级电路图时,是否觉得那些与门排列得像积木一样整齐?但当你打开编辑器准备用Verilog实现时,却发现大脑一片空…...