安装spark

spark依赖java和scale。所以先安装java,再安装scale,再是spark。
总体教程跟着这个链接
我跟着这个教程走安装java链接,但是有一些不同,原教程有一些错误,在环境变量设置的地方。

java

首先下载jdk。

  1. 先看自己的环境,用uname -a
(.venv) .venvroot@nb-e3kwqjh63t34-0:/mnt/user/mine/# uname -a
Linux nb-e3kwqjh63t34-0 5.4.0-125-generic #141-Ubuntu SMP Wed Aug 10 13:42:03 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

能看到是64位ubuntu。
第一个坑,用java8,别用其他的,spark不认。orcale官网下载要注册,这里是华为镜像网站添加链接描述。我下载了jdk-8u202-linux-x64.tar.gz

wget https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz

下载后,得到文件jdk-8u202-linux-x64.tar.gz
解压它

tar -xzvf jdk-8u202-linux-x64.tar.gz -C /mnt/user/mine/java/

/mnt/user/mine/java/随便设的,会解压到这个地方,最后路径是/mnt/user/mine/java/jdk1.8.0_202。
代码是有了,接下来设置环境变量,以全局地使用java。
打开环境变量配置文件

vi /etc/profile

然后按下i,代表insert,然后左下角会显示insert,代表可以输入了。添加以下值。

export JAVA_HOME=/mnt/user/mine/java/jdk1.8.0_202
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin

export就是全局变量的意思,添加了JAVA_HOME变量为以上路径,代表我们java的存储路径。然后在原本就有的环境变量——CLASSPATH里添加一个路径JAVA_HOME/lib,$JAVA_HOME是shell脚本引用变量的方式,CLASSPATH使用冒号:来分割多个路径,于是现在CLASSPATH后面添加了一个新路径/mnt/user/mine/java/jdk1.8.0_202/lib。
PATH同理。
然后,点击esc,退出了insert模式。键盘敲击:wq,最下面会显示,代表write and quit,就保存了你写进去的东西。
如果你不想改了,敲击:q!,即啥都不要了直接quit。
最后,重新加载这个文件,使用:

source /etc/profile

之后,检查java环境变量设没设好,就看命令行能不能直接用java指令。输入

java -version

我输出了

# java -version
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

scale

我借鉴runoob网站链接
也就是只要这一个命令

curl -fL https://github.com/coursier/launchers/raw/master/cs-x86_64-pc-linux.gz | gzip -d > cs && chmod +x cs && ./cs setup

把这个长命令拆成碎的是这样。

curl -fL https://github.com/coursier/launchers/raw/master/cs-x86_64-pc-linux.gz 
gzip -d cs-x86_64-pc-linux.gz 
chmod +x cs-x86_64-pc-linux
./cs-x86_64-pc-linux  setup

但是很慢。我选择二进制安装,手动下载,再解压,再设置path环境变量,和java差不多。
下载地址添加链接描述
随便选个型号点进去,不带RC1的,不知道RC1什么意思。然后拉到最下面,选符合型号的,我是linux64位,就下scala3-3.6.1-x86_64-pc-linux.tar.gz
然后解压它

tar -xzvf scala3-3.6.1-x86_64-pc-linux.tar.gz

解压完的scale名字巨长,自己重命名个短的。然后设置环境变量:

vi /etc/profile

把这一段插进去

export PATH="$PATH:你的scale路径/bin"

带不带引号都行
然后保存,退出,重新读取配置文件

source /etc/profile

试试scale

.venvroot@nb-e3kwqjh63t34-0:/mnt/user/mine # scala
Welcome to Scala 3.5.2 (23.0.1, Java Java HotSpot(TM) 64-Bit Server VM).
Type in expressions for evaluation. Or try :help.scala> 

用ctrl-c强制退出。

安装spark

跟着官方文档在这里插入图片描述
下载完解压

tar -xzvf spark-3.5.3-bin-hadoop3.tgz

加个环境变量

export PATH=$PATH:/mnt/user/mine/scala/bin:/mnt/user/mine/spark/bin

管它好不好看,我就直接接scala后面了。

顺利的话,输入

spark-shell

就有

(.venv) .venvroot@nb-e3kwqjh63t34-0:/mnt/user/mine# spark-shell
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
24/11/21 15:05:25 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
24/11/21 15:05:26 WARN Utils: Service 'SparkUI' could not bind on port 4040. Attempting port 4041.
Spark context Web UI available at http://nb-e3kwqjh63t34-0:4041
Spark context available as 'sc' (master = local[*], app id = local-1732172726695).
Spark session available as 'spark'.
Welcome to____              __/ __/__  ___ _____/ /___\ \/ _ \/ _ `/ __/  '_//___/ .__/\_,_/_/ /_/\_\   version 3.5.3/_/Using Scala version 2.12.18 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_202)
Type in expressions to have them evaluated.
Type :help for more information.scala> 

结束

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

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

相关文章

MACOS开发、使用常见问题汇总

MACOS常见问题 本文记录使用macos遇到的常见问题,后面会持续更新,觉得有用的可以收藏一下。 打不开xxx.app,因为它来自身份不明的开发者解决方法(开启任何来源) 打开终端(Terminal)程序 拷贝sudo spctl --master-di…

【MySQL实战45讲笔记】基础篇——深入浅出索引(上)

系列文章 基础篇——MySQL 的基础架构 基础篇——redo log 和 binlog 基础篇——事务隔离 目录 系列文章深入浅出索引(上)4.1 索引的常见模型4.2 InnoDB 的索引模型4.3 索引维护4.4 思考:为什么要重建索引以及如何做? 深入浅出索…

关于一次开源java spring快速开发平台项目RuoYi部署的记录

关于一次开源java spring快速开发平台项目RuoYi部署的记录 本次因为需要一些练习环境,想要快速搭建一个javaweb 项目作为练习环境,经过查询和实验找到一个文档详细,搭建简单,架构也相对比较新的开源项目RuoYi。 项目介绍&#xf…

Quartus+Nios II for eclipse问题合集

由于对于FPGANIOS II 的工作需要,对工作过程中遇到的问题进行记录,持续更新。 1、BSP directory does not exist: . Stop.Nios II使用过程中遇到的一些问题2_error executing nios2-bsp-generate-files --bsp-di-CSDN博客https://blog.csdn.net/qq_39485…

「OpenCV交叉编译」ubuntu to arm64

Ubuntu x86_64 交叉编译OpenCV 为 arm64OpenCV4.5.5、cmake version 3.16.3交叉编译器 gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu 可在arm或linaro官网下载所需版本,本文的交叉编译器可点击链接跳转下载 Downloads | GNU-A Downloads – Arm Developer L…

基于深度学习的点云分割网络及点云分割数据集

点云分割是根据空间、几何和纹理等特征对点云进行划分,使得同一划分内的点云拥有相似的特征。点云的有效分割是许多应用的前提,例如在三维重建领域,需要对场景内的物体首先进行分类处理,然后才能进行后期的识别和重建。 传统的点…

Excel - VLOOKUP函数将指定列替换为字典值

背景:在根据各种复杂的口径导出报表数据时,因为关联的表较多、数据量较大,一行数据往往会存在三个以上的字典数据。 为了保证导出数据的效率,博主选择了导出字典code值后,在Excel中处理匹配字典值。在查询百度之后&am…

硬件知识 cadence16.6 原理图输出为pdf 网络名下划线偏移 (ORCAD)

1. cadence原理图输出为PDF网络名下划线偏移 生这种情况的原因 1. 设计的原理图图纸大小比正常的 A4图纸大。 2. 打印为PDF 的时候,打印机的设置有问题。 2.cadence原理图输出为 PDF网络名下划线偏移的情况 可以看到上图,网络名往上漂移。 3. 解决办法 …

随机森林(Random Forest)详解

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

对原jar包解压后修改原class文件后重新打包为jar

文章目录 背景三种修改方式1.POM中移除原jar中依赖的历史版本2.原jar它不使用pom依赖而是直接放在源码中再编译使用JarEditor 插件对源码进行修改(推荐)使用java-decompiler反编译后修改源码覆盖原class(不好用-不推荐直接跳过)提醒 参考资料-推荐阅读拓…

PyQt6+pyqtgraph折线图绘制显示

1、实现效果 2、环境: 确认已经安装pyqtgraph的模块,如果没有安装,使用命令安装: pip install pyqtgraph 3、代码实现: 绘制折线函数: import sys import random from PySide6.QtWidgets import QAppl…

Altium Designer学习笔记 1-5 工程创建_元件库创建

基于Altium Designer 23学习版,四层板智能小车PCB 目录 1、工程组成 2、AD工程创建 3、元件库的阻容模型创建 4、IC类的元件库模型创建 5、排针类的元件库模型创建 1、工程组成 主要包括原理图库----原理图----PCB库----PCB 2、AD工程创建 新建工程项目 …

Video Duplicate Finder 快速识别并去除重复的视频和图像!

文章目录 下载 后续升级 Video Duplicate Finder(视频重复查找器)是一款开源的跨平台视频(以及图像)去重软件,通过对比文件内容和特征,快速识别出重复的视频和图像文件,即使是被压缩裁剪过、…

力扣力扣力:860柠檬水找零

860. 柠檬水找零 - 力扣(LeetCode) 需要注意的是,我们一开始是没有任何钱的,也就是说我们需要拿着顾客的钱去找零。如果第一位顾客上来就是要找零那么我们无法完成,只能返回false。 分析: 上来我们先不分…

开源许可协议

何同学推动了开源协议的认识,功不可没,第一次对开源有了清晰的认识,最宽松的MIT开源协议 源自OSC开源社区:何同学使用开源软件“翻车”,都别吵了!扯什么违反MIT

装饰器---python

一、柯里化 概念:将原来接受两个参数的函数变成新的接受一个参数的函数过程,新的函数返回一个以原有第二个参数为参数的函数 例如: 例一 原函数是add(x,y),柯里化的目标是add(x)(y),如何实现呢? 相当于嵌套函数,有闭…

Spring AI 框架使用的核心概念

一、模型(Model) AI 模型是旨在处理和生成信息的算法,通常模仿人类的认知功能。通过从大型数据集中学习模式和见解,这些模型可以做出预测、文本、图像或其他输出,从而增强各个行业的各种应用。 AI 模型有很多种&…

知识见闻 - 数学: 均方根 Root Mean Square

What is Root Mean Square (RMS)? 在统计学上,均方根(RMS)是均方的平方根,而均方是一组数值的平方的算术平均数。均方根也称为二次均值,是指数为 2 的广义均值的一种特例。均方根也被定义为基于一个周期内瞬时值的平方…

基于Spring AI alibaba组件AI问答功能开发示例

基于Spring AI alibaba组件AI问答功能开发示例 功能效果图: http://localhost:9999/ai/test http://localhost:9999/ai/chat?inputai 配置 application.yaml 指定 API-KEY(可通过访问阿里云百炼模型服务平台获取,有免费额度可用。&#x…

Linux - 线程基础

文章目录 1.什么是线程2.线程vs进程3.线程调度4.线程控制4.1 POSIX线程库4.2创建线程4.3线程终止4.4线程等待4.5线程分离 5、线程封装 1.什么是线程 在Linux操作系统中,线程是进程内部的一个执行流。在Linux操作系统下,执行流统称为轻量级进程&#xff0…