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

news/2024/12/22 14:05:51/

        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命令,只要可以进来,基本就是没问题啦!

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

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


http://www.ppmy.cn/news/1529747.html

相关文章

浅谈Python之协程和进程

一、基本介绍 在Python中,协程和进程是两种不同的并发执行方式,它们各自有适用的场景和优势。协程通常用于异步I/O操作,而进程则用于CPU密集型任务或需要隔离的并发执行环境。 协程(Coroutine) 协程是一种程序组件&am…

Dockerfile自定义制作镜像,其中10个指令的作用分析

docker容器中 做镜像是重要的技能。 docker commit只能制作比较简单的镜像, 要制作比较完善的镜像, 自定义程度比较高的, 就需要用到dockerfile dockerfile可以回溯历史 动态生成镜像。 FROM是基础镜像 CMD是在容器创建的时候默认的启动命令 …

【GitLab】安装和使用

安装 拉取gitlab镜像: docker pull gitlab/gitlab-ce:12.7.6-ce.0运行镜像容器: docker run -itd --name gitlab -p 443:443 -p 80:80 -p 222:22 --restart always -m 4GB -v /data/gitlab/config:/etc/gitlab -v /data/gitlab/logs:/var/1og/gitlab …

【Android】模糊搜索与数据处理

【Android】模糊搜索与数据处理 本篇博客主要以根据输入内容动态获取城市为例进行讲解。 获取城市 这一部分主要是根据输入的信息去动态获取城市信息 首先定义了一个名为 NetUtil 的类,主要用于通过 HTTP 请求获取城市信息。 public class NetUtil {private stat…

【Text2SQL】DAIL-SQL阿里推出,在Spider取得了SOTA

论文解读:Text-to-SQL Empowered by Large Language Models: A Benchmark Evaluation 论文详细介绍了DAIL-SQL方法,这是一个针对Text-to-SQL任务的提示工程方法。这个方法旨在通过精心设计的提示(prompt engineering)来优化大型语…

Linux 基础入门操作 第九章 进程间通信之管道

第九章 进程间通信 进程通信有如下一些目的: A、数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几 M 字节之间 B、共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改&#xf…

【通信基础】精讲通信天线种类及CAN总线和集群关系

前言 在通信行业中,天线的种类非常多,涵盖了从简单的无线电天线到复杂的相控阵天线。这些天线的种类和形态各异,以满足不同频率、应用场景和通信需求。以下是一些主要的天线种类: 1. 通信天线种类 1.1 偶极子天线 (Dipole Ant…

切换到WDDM模式,Tesla M4可以用于本地显示输出了!

正文共:1333 字 21 图,预估阅读时间:2 分钟 上次安装完Tesla M4显卡之后(HPE服务器通过显卡直通安装Tesla M4,这算亮机成功了吗?),系统识别正常,但是不能用于显示&#x…