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

安装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.lryc.cn/news/488842.html

相关文章:

  • 佛山三水戴尔R740服务器黄灯故障处理
  • 大学课程项目中的记忆深刻 Bug —— 一次意外的数组越界
  • html数据类型
  • Kotlin Multiplatform 未来将采用基于 JetBrains Fleet 定制的独立 IDE
  • Redis中常见的数据类型及其应用场景
  • 代理IP在后端开发中的应用与后端工程师的角色
  • 工作流和流程引擎有什么区别?
  • 【SpringBoot】27 拦截器
  • AI对开发者的影响,以及传统软件开发 与 AI参与的软件开发区别
  • HBase Java基础操作
  • 关于一次开源java spring快速开发平台项目RuoYi部署的记录
  • 【AI编程实战】安装Cursor并3分钟实现Chrome插件(保姆级)
  • 【Chatgpt】如何通过分层Prompt生成更加细致的图文内容
  • 中间件--laravel进阶篇
  • 【vue】vue中.sync修饰符如何使用--详细代码对比
  • repmgr安装及常用运维指令
  • RedHat系统配置静态IP
  • nvm和nrm的安装与使用
  • 10大核心应用场景,解锁AI检测系统的智能安全之道
  • 香豆烤馍:传统美食中的烟火记忆
  • 金融量化交易模型的探索与发展
  • 灾难恢复计划 (DRP)
  • Makefile 之 wordlist
  • 半导体工艺与制造篇1 绪论
  • 接雨水
  • Python蓝桥杯刷题1
  • 实习冲刺第二十七天
  • el-table-column自动生成序号在序号前插入图标
  • 前端工程化-node/npm/babel/polyfill/webpack 一文速通
  • Spring Security PasswordEncoder接口(密码编码)