当前位置: 首页 > 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这两个组件在我们平台搭建中属于比较简单的一部分,但是大家也不能掉以轻心,往往是越简单的部分越容易出错嘛。

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 基于JAVA+SpringBoot+Vue的社区智慧养老监护管理平台
  • LeetCode 2374.边积分最高的节点:模拟
  • 【标准库的典型内容】std::declval
  • 使用HTML和CSS制作网页的全面指南
  • Windows X86 远线程注入问题解惑
  • Python实现图形学光栅化的Bresenham算法
  • Linux通过yum安装Docker
  • C高级day4
  • VulnHub-Bilu_b0x靶机笔记
  • 《在华为交换机上配置防止 ARP 攻击》
  • 对商品分类系统的若干问题的思考
  • python编程,把所有子目录和文件输出到文本文件
  • 基于JAVA+SpringBoot+Vue的线上辅导班系统的开发与设计
  • 基于CNN的10种物体识别项目
  • 2.《DevOps》系列K8S部署CICD流水线之部署NFS网络存储与K8S创建StorageClass
  • CSS3 变换
  • CSS实用技巧
  • JavaScript设计模式系列一:工厂模式
  • java小心机(3)| 浅析finalize()
  • js 实现textarea输入字数提示
  • mysql 5.6 原生Online DDL解析
  • Quartz初级教程
  • Spring Cloud Feign的两种使用姿势
  • vuex 学习笔记 01
  • 马上搞懂 GeoJSON
  • 盘点那些不知名却常用的 Git 操作
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 推荐一个React的管理后台框架
  • 我感觉这是史上最牛的防sql注入方法类
  • 智能合约开发环境搭建及Hello World合约
  • Nginx实现动静分离
  • 阿里云重庆大学大数据训练营落地分享
  • ​批处理文件中的errorlevel用法
  • ‌JavaScript 数据类型转换
  • # 职场生活之道:善于团结
  • #ubuntu# #git# repository git config --global --add safe.directory
  • $.each()与$(selector).each()
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (C#)获取字符编码的类
  • (delphi11最新学习资料) Object Pascal 学习笔记---第14章泛型第2节(泛型类的类构造函数)
  • (el-Date-Picker)操作(不使用 ts):Element-plus 中 DatePicker 组件的使用及输出想要日期格式需求的解决过程
  • (function(){})()的分步解析
  • (待修改)PyG安装步骤
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (十八)Flink CEP 详解
  • (一)springboot2.7.6集成activit5.23.0之集成引擎
  • (一)Thymeleaf用法——Thymeleaf简介
  • .Family_物联网
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET CF命令行调试器MDbg入门(一)
  • .NET Project Open Day(2011.11.13)
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .net 生成二级域名
  • .net 中viewstate的原理和使用
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本