实验3-Spark基础-Spark的安装

文章目录

      • 1. 下载安装 Scala
        • 1.1 下载 Scala 安装包
        • 1.2 基础环境准备
        • 1.3 安装 Scala
      • 2. 下载安装 Spark
        • 2.1 下载 Spark 安装包
        • 2.2 安装 Spark
        • 2.3 配置 Spark
        • 2.4 创建配置文件 spark-env.sh
      • 3. pyspark 启动
      • 4. 建立/user/spark文件夹

1. 下载安装 Scala

1.1 下载 Scala 安装包

下载地址 https://www.scala-lang.org/download/ 。此指导书中使用的 Scala 版本为 scala-2.11.12.tgz ,实验环境中存放在 /hadoop-packages/ 目录下。(在平台做实验本部分不需要自己下载)

1.2 基础环境准备

配置 Scala 环境之前需要有 Hadoop 。实验环境中已经安装配置好了 Hadoop 伪分布式环境 。执行 HDFS 的启动命令:

start-all.sh
jps

5345 SecondaryNameNode
5093 DataNode
5958 NodeManager
6135 Jps
5628 ResourceManager
4924 NameNode

检查启动成功。通过命令 jps,能看到 NameNode,DataNode 和 SecondaryNameNode 都已经成功启动,表示 Hadoop 启动成功。
实操环节:
点击HDFS 的启动:
image.png
输入指令”start-all.sh”:
image.png
输入指令”jps”:
image.png

1.3 安装 Scala

步骤1: 解压安装包 scala-2.11.12.tgz 至路径 /opt,在 Linux 系统终端中执行以下命令:

sudo tar zxvf /hadoop-packages/scala-2.11.12.tgz -C /opt/

image.png
步骤2: 将解压的文件夹名 scala-2.11.12 改为 scala,以方便使用,命令如下:

cd /opt/

image.png
sudo mv scala-2.11.12/ scala/
image.png
改名后的 /opt/ 目录可以输入“ll”查看,下图是示例。
image.png
步骤3: 配置环境变量,将 scala 目录下的 bin 目录添加到 path 中,这样使用 Scala 时就无须到 /opt/scala 目录下,以方便 Scala 的使用。编辑 ~/.bashrc 文件,执行以下命令:

sudo vim ~/.bashrc

image.png
输入显示:
image.png
点击“i”按键进入编辑模式:
image.png
请在 ~/.bashrc 文件中添加如下内容。如图所示。

export SCALA_HOME=/opt/scalaexport PATH=$SCALA_HOME/bin:$PATH

image.png
步骤4: 按 Esc 键退回一般模式,然后输入 :wq 命令并回车保存退出文件。
image.png
再执行以下命令使变量立即生效:

source ~/.bashrc

image.png
步骤5: 将 scala 目录下的所有文件的给予权限。执行以下命令:

cd /opt

image.png

sudo chmod -R 777 scala/*

image.png
步骤6: 验证 scala 版本,在终端中执行以下命令:

scala -version

image.png
输入后显示:

Scala code runner version 2.11.12 – Copyright 2002-2017, LAMP/EPFL

正确输出如上版本信息则安装无误。

2. 下载安装 Spark

2.1 下载 Spark 安装包

下载地址 http://spark.apache.org/downloads.html 。此指导书中使用的 Spark 版本为 spark-2.3.3-bin-hadoop2.7.tgz ,实验环境中存放在 /hadoop-packages/ 目录下。本实验平台不需要下载

2.2 安装 Spark

步骤1: 解压安装包 spark-2.3.3-bin-hadoop2.7.tgz 至路径 /opt ,在 Linux 系统终端中执行以下命令:

sudo tar zxvf /hadoop-packages/spark-2.3.3-bin-hadoop2.7.tgz -C /opt/

image.png
输入后显示:
image.png
步骤2: 将解压的文件夹名 spark-2.3.3-bin-hadoop2.7 改为 spark,以方便使用。
改名前的 /opt/ 目录如图所示。
image.png
执行以下命令:

sudo mv spark-2.3.3-bin-hadoop2.7/ spark/

image.png
改名后的 /opt/ 目录如图所示。
image.png
步骤3: 配置环境变量,将 spark 目录下的 bin 目录添加到 path 中。编辑 ~/.bashrc 文件,执行以下命令:

sudo vim ~/.bashrc

image.png
输入后显示:
image.png
点击”i”按键进入编辑模式:
image.png
请在 ~/.bashrc 文件中添加如下内容。如图所示。

export SPARK_HOME=/opt/sparkexport PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.7-src.zip:$PYTHONPATHexport PYSPARK_PYTHON=pythonexport PATH=$PATH:$SPARK_HOME/bin

image.png
PYTHONPATH环境变量主要是为了在Python3中引入Pyspark库,对于不同版本的Spark , 其py4j-0.10.7-src.zip文件名是不同的,要进入相应目录 $SPARK_HOME/python/lib/ 下具体查看确定具体名称,再对PYTHONPATH环境变量的相应值加以修改。PYSPARK_PYTHON变量主要是设置Pyspark运行的Python版本。另外,如果环境中未安装Python3环境,需要手动执行命令yum -y install python3进行安装,后面才可正常进入到Pyspark终端。
步骤4: 按 Esc 键退回一般模式,然后输入 :wq 命令并回车保存退出文件。
image.png
执行以下命令使变量立即生效:

source ~/.bashrc

image.png
步骤5: 将 spark 目录下的所有文件的给予权限。执行以下命令:

cd /opt

image.png

sudo chmod -R 777 spark/*

image.png
步骤6: 通过运行Spark自带的一个示例程序,验证Spark是否安装成功。在终端中执行以下命令:

run-example SparkPi 2>&1 |grep "Pi is"

image.png
输入后显示:Pi is roughly 3.1381756908784544
正确输出类似如上信息则安装无误。

2.3 配置 Spark

切换到 Spark 的 conf 目录下并查看。执行以下命令:

cd /opt/spark/conf/

image.png

ls

image.png
可发现 conf 目录下有配置文件模板 spark-env.sh.template 和 spark-defaults.conf.template 等。

2.4 创建配置文件 spark-env.sh

在 Spark 的 conf 目录下执行以下命令:

cp -r spark-env.sh.template spark-env.sh

image.png

vim spark-env.sh

输入后显示:
image.png
进入 Vim 编辑界面,按 i 键之后进入编辑状态,在文件首行中补充如下路径的信息:

export SPARK_DIST_CLASSPATH=$(/opt/hadoop/bin/hadoop classpath)

image.png
上面这条配置信息的作用是让Spark具备从Hadoop分布式文件系统HDFS读、写数据的能力;如果没有配置上面信息,Spark就只能读写本地数据,无法读写HDFS数据。配置完成的文件如图所示。
然后,按键盘上的 ESC 键退出 Vim 的编辑状态,再输入 :wq,保存并退出 Vim 编辑器。
image.png

3. pyspark 启动

由于设置了 PYSPARK_PYTHON 环境变量,可以在任意路径下直接执行以下命令启动 Pyspark:

pyspark

image.png
启动 Pyspark 后,就会进入到 >>>命令提示符状态,Pyspark的终端。 从上图可以看到 Spark 的版本号为2.3.3,Python版本为3.6.8。现在就可以在Pyspark的终端中输入Python代码进行调试了。如图所示。
image.png
在Pyspark的终端中输入exit()可退出Pyspark终端。
image.png

4. 建立/user/spark文件夹

Hadoop中的许多组件在运行时会在HDFS上生成许多临时文件存储在/tmp文件夹中。
Spark应用历史服务在运行时会将一些数据存储在HDFS上的/user/spark/applicationHistory文件夹中。
使用hdfs dfs -mkdir命令创建文件夹/user/spark/applicationHistory以及hdfs dfs -chown命令将文件夹所有权移交给spark用户。

hdfs dfs -mkdir -p /user/spark/applicationHistory
hdfs dfs -chown -R spark /user/spark

image.png

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

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

相关文章

Hi3861鸿蒙开发环境搭建

1.1 安装配置Visual Studio Code 打开Download Visual Studio Code - Mac, Linux, Windows选择下载安装Windows系统的Visual Studio Code。 下载后进行安装。Visual Studio Code安装完成后,通过内置的插件市场搜索并安装开发所需的插件如图所示: 1.2 安…

轻松创建对象——简单工厂模式(Java实现)

1. 引言 大家好,又见面了!在上一篇文章中,我们通过Python示例介绍了简单工厂模式,今天,我们继续深入这个话题,用Java来实现简单工厂模式。 2. 什么是简单工厂模式 简单工厂模式(Simple Facto…

视频融合共享平台视频共享融合赋能平台数字化升级医疗体系

在当前,医疗健康直接关系到国计民生,然而,由于医疗水平和资源分布不均,以及信息系统老化等问题,整体医疗服务能力和水平的提升受到了限制。视频融合云平台作为数字医疗发展的关键推动力量,在医疗领域的广泛…

计算机网络知识汇总

OSI七层模型 七层模型一般指开放系统互连参考模型,开放系统互连参考模型 (Open System Interconnect 简称OSI),OSI参考模型是具有7个层次的框架,自底向上的7个层次分别是物理层、数据链路层、网络层、传输层、会话层、…

省市县下拉框的逻辑以及多表联查的实例

2024.7.12 一. 省市县的逻辑开发。1、准备:1.1. 要求:1.2 数据库表: 2. 逻辑:3. 方法3.1 创建实体类3.2 数据访问层3.3 实现递归方法3.4 控制器实现3.5 前端处理 二、多表联查(给我干红温了)1. 出现了问题2…

python进阶(5):魔术方法篇(1)

之前使用的__init__ 构造方法,是Python类内置的方法之一。 这些内置的类方法,各自有各自特殊的功能,这些内置方法我们称之为:魔术方法 1 __str__ 字符串方法 class Student:name Noneage Nonetel Nonedef __init__(self,name…

shell脚本之if/case语句

一、条件测试 1、1 返回码 $? $? :返回码,用来判断命令或者脚本是否执行成功。 0 :表示true ,成功;非0 则表示flase ,失败。 1、2 test命令 可以进行条件测试,然后根据返回值来判断条件是否成立 -e…

Redis基础教程(十五):Redis GEO地理信息查询与管理

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝&#x1f49…

怎么提高音频的播放速度?可以提高音频播放速度的四种方法推荐

怎么提高音频的播放速度?提高音频的播放速度是一种有效的策略,可以显著节省时间和提升信息获取的效率。随着信息量不断增加和学习需求的多样化,快速播放音频已成为许多人在日常生活和工作中的常见做法。这种方法不仅可以用于提高学习效率&…

Git-Unity项目版本管理

目录 准备GitHub新建项目并添加ssh密钥Unity文件夹 本文记录如何用git对unity 项目进行版本管理,并可传至GitHub远端。 准备 名称版本windows11Unity2202.3.9.f1gitN.A.githubN.A. GitHub新建项目并添加ssh密钥 GitHub新建一个repositorywindows11 生成ssh-key&…

全志A527 T527 android13支持usb摄像头

1.前言 我们发现usb摄像头在A527 android13上面并不能正常使用,需要支持相关的摄像头。 2.系统节点查看 我们查看系统是否有相关的节点生成,发现/dev/video相关的节点已经生成了。并没有问题,拔插正常。 3.这里我们需要查看系统层是否支持相关的相机, 我们使用命令进行…

详解yolov5的网络结构

转载自文章 网络结构图(简易版和详细版) 此图是博主的老师,杜老师的图 网络框架介绍 前言: YOLOv5是一种基于轻量级卷积神经网络(CNN)的目标检测算法,整体可以分为三个部分, ba…

警钟!电池储能安全事故频发!物联网技术如何加强储能安全排查?

在新能源时代背景下,储能系统作为能源转型的关键支撑技术,其安全问题日益凸显,尤其是近期海外电池项目连续发生的事故,为全球储能行业敲响了警钟。面对这一挑战,物联网技术以其强大的数据采集、智能分析与远程监控能力…

【计算机组成原理 | 第二篇】计算机硬件架构的发展

目录 前言: 冯诺依曼计算机架构 现代计算机架构: 总结: 前言: 在当今数字化时代,计算机硬件不仅是技术进步的见证者,更是推动这一进步的基石。它们构成了我们日常生活中不可或缺的数字生态系统的核心&a…

4. 小迪安全v2023笔记 javaEE应用

4. 小迪安全v2023笔记 javaEE应用 ​ 大体上跟随小迪安全的课程,本意是记录自己的学习历程,不能说是完全原创吧,大家可以关注一下小迪安全。 若有冒犯,麻烦私信移除。 默认有java基础。 文章目录 4. 小迪安全v2023笔记 javaEE应…

C++程序进阶学习

目录 引言 C内存分区 一、内存分区模型 二、 程序运行前 三、程序执行后 C引用 引用的语法 作用 本质 优点 C封装 C对象特性 C对象模型和this指针 C友元 C运算符重载 C继承 C多态 C文件 引言 看过我博客的朋友可能都了解这篇文章内容了,这篇博…

谷粒商城学习笔记-19-快速开发-逆向生成所有微服务基本CRUD代码

文章目录 一,使用逆向工程步骤梳理1,修改逆向工程的application.yml配置2,修改逆向工程的generator.properties配置3,以Debug模式启动逆向工程4,使用逆向工程生成代码5,整合生成的代码到对应的模块中 二&am…

FastAPI 学习之路(三十五)项目结构优化

之前我们创建的文件都是在一个目录中,但是在我们的实际开发中,肯定不能这样设计,那么我们去创建一个目录,叫models,大致如下。 主要目录是: __init__.py 是一个空文件,说明models是一个package…

2.GAP:通用访问协议

GAP的简单理解 GAP这个名字,直接翻译过来不好理解。 简单点可以理解为: 这是蓝牙设备在互联之前,过程中,第一个用于交流的协议。在代码上,会给这个协议实现,连接参数的设置,连接事件的实现&am…

maven高级1——一个项目拆成多个

把原来一个项目,拆成多个项目。 !!他们之间,靠接口通信。 以ssm整合好的项目为例: 如何看拆的ok不ok 只要compile通过就ok。 拆分pojo 先新建一个项目模块,再把内容复制进去。 拆分dao 1.和上面一样…