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

ubuntu 20.04 安装spark

安装openjdk21

  1. 下载
wget https://download.java.net/openjdk/jdk21/ri/openjdk-21+35_linux-x64_bin.tar.gz
  1. 解压
tar -xvf openjdk-21+35_linux-x64_bin.tar.gzsudo mv jdk-21/ /opt/jdk-21/
  1. 设置环境变量
echo 'export JAVA_HOME=/opt/jdk-21' | sudo tee /etc/profile.d/java21.sh
echo 'export PATH=$JAVA_HOME/bin:$PATH'|sudo tee -a /etc/profile.d/java21.sh
source /etc/profile.d/java21.sh
  1. 验证安装
java --version

安装spark

  1. 安装组件
sudo apt update
sudo apt install default-jdk scala git -y
java -version; javac -version; scala -version; git --versionCopied!
  1. 下载spark
mkdir /home/yourname/spark
cd spark/
wget https://dlcdn.apache.org/spark/spark-3.5.6/spark-3.5.6-bin-hadoop3.tgz
  1. 验证下载的包
cd /home/yourname/spark
wget https://dlcdn.apache.org/spark/spark-3.5.6/spark-3.5.6-bin-hadoop3.tgz.sha512shasum -a 512 -c spark-3.5.6-bin-hadoop3.tgz.sha512

在这里插入图片描述
4. 解压

tar -xvf spark-3.5.6-bin-hadoop3.tgz
  1. 解压后即可,验证安装
/home/yourname/spark/spark-3.5.6-bin-hadoop3/bin/spark-shell --version

在这里插入图片描述

  1. 设置环境变量
vim ~/.profileexport SPARK_HOME=/home/yourname/spark/spark-3.5.6-bin-hadoop3/
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbinsource ~/.profile
  1. 配置远程连接
 cp spark-defaults.conf.template spark-defaults.conf添加以下内容
spark.ui.host 0.0.0.0spark.ui.port 8080
  1. 设置spark env
 cp spark-env.sh.template spark-env.sh添加以下内容
export JAVA_HOME=/opt/jdk-21/
SPARK_MASTER_HOST=192.168.220.132
SPARK_MASTER_PORT=7077
  1. Start Standalone Spark Master Server
$SPARK_HOME/sbin/start-master.sh访问本机8080端口即可访问

在这里插入图片描述
10. 启动一个worker

$SPARK_HOME/sbin/start-worker.sh spark://192.168.220.132:7077
  1. Basic Commands to Start and Stop Master Server and Workers
    The following table lists the basic commands for starting and stopping the Apache Spark (driver) master server and workers in a single-machine setup.
CommandDescription
start-master.shStart the driver (master) server instance on the current machine.
stop-master.shStop the driver (master) server instance on the current machine.
start-worker.sh spark://master_server:portStart a worker process and connect it to the master server (use the master’s IP or hostname).
stop-worker.shStop a running worker process.
start-all.shStart both the driver (master) and worker instances.
stop-all.shStop all the driver (master) and worker instances.

Pyspark 读csv

  1. 安装与spark相同版本的pyspark
pip install pyspark==3.5.6
如果你之前安装了别的版本,在你卸载后,最好将package路径下的pyspark文件夹也删除
  1. 本地调试
from pyspark.sql import SparkSession
import os
os.environ["JAVA_HOME"] = r"D:\java21opensdk\jdk-21.0.1"spark = SparkSession.builder \.appName("test") \.getOrCreate()# .master("spark://192.168.220.132:7077") \# .getOrCreate()path = r"C:\Users\test\Desktop\test.csv"df = spark.read.csv(path,header=True, inferSchema=True)
rows = df.collect()for row in rows:print(row.asDict())
  1. 使用worker运行
from pyspark.sql import SparkSession
import os
os.environ["JAVA_HOME"] = r"D:\java21opensdk\jdk-21.0.1"spark = SparkSession.builder \.appName("test") \.master("spark://192.168.220.132:7077") \.getOrCreate()
# 注意这个csv文件需要传递到spark服务器上
path = "file:///opt/data/test.csv"df = spark.read.csv(path,header=True, inferSchema=True)
rows = df.collect()for row in rows:print(row.asDict())

参考


文章转载自:

http://gmvUH3Oe.zdtfr.cn
http://AugdsGu0.zdtfr.cn
http://o1AKpybZ.zdtfr.cn
http://DEFu2SkZ.zdtfr.cn
http://RWnSnGFL.zdtfr.cn
http://6mrcNPJW.zdtfr.cn
http://xNRcxUT6.zdtfr.cn
http://3YmsweNC.zdtfr.cn
http://BZKN4j7m.zdtfr.cn
http://nl1RQWfT.zdtfr.cn
http://XBtLbuvU.zdtfr.cn
http://gXYMdOIp.zdtfr.cn
http://my6vnjM2.zdtfr.cn
http://Aa8435LJ.zdtfr.cn
http://qZZM7cL6.zdtfr.cn
http://jHo3dYHr.zdtfr.cn
http://g2khEFIi.zdtfr.cn
http://U0BZbGfR.zdtfr.cn
http://KnZfRMWe.zdtfr.cn
http://A1Obl6Sa.zdtfr.cn
http://YML40RuI.zdtfr.cn
http://hNLsXM6O.zdtfr.cn
http://HDDbjPgt.zdtfr.cn
http://ptzSwPOL.zdtfr.cn
http://iXNXBK7S.zdtfr.cn
http://9zSNJqQ1.zdtfr.cn
http://4bgItlRe.zdtfr.cn
http://OK2Tc7W1.zdtfr.cn
http://1QWxWkoY.zdtfr.cn
http://3yYgxQ27.zdtfr.cn
http://www.dtcms.com/a/375261.html

相关文章:

  • 【企业微信】接口报错:javax.net.ssl.SSLHandshakeException
  • uniapp原生插件 TCP Socket 使用文档
  • 京东云-数据盘挂载
  • 【华为OD】Linux发行版的数量
  • 缓冲区漏洞详解
  • 位图转矢量图的实现方法与常用工具解析
  • 设计模式-简单工厂策略装饰器代理
  • 家庭劳务机器人发展阶段与时间预测
  • .NET 单文件程序详解:从原理到实践
  • 新能源汽车充电设备装调与检修仿真教学软件:理虚实融合实训方案
  • 小鹏汽车 vla 算法最新进展
  • C++ 20 视图view笔记
  • HTML 网页静态托管 API 接口文档(可集成到智能体Agent)
  • 在uni-app中使用lottie-web来展示Lottie动画
  • Python数据可视化基础:使用Matplotlib绘制图表
  • CodeBuddy Code深度实战:从零构建智能电商推荐系统的完整开发历程
  • 【Kubernetes知识点】PriorityClass,HPA和CICD
  • 赋能多场景创新:明远智睿H618核心板
  • (C++)数据结构初阶(顺序表的实现)
  • 一手实测,文心x1.1的升级很惊喜啊
  • 【系统分析师】第18章-关键技术:移动应用系统分析与设计(核心总结)
  • echarts 实现柱状图自动滚动展示数据(Vue3)
  • 基于Python的购物商城网站电商管理系统【2026最新】
  • Electron 分发策略:创建安装程序与自动更新
  • IAR 集成开发环境入门指南:字体设置与调试实战
  • CentOS7下Ceph集群部署实战
  • 逆元,除法同余,容斥原理笔记
  • 【springboot+vue】党员党建活动管理平台(源码+文档+调试+基础修改+答疑)
  • JAVA 面试 MySQL
  • 【Pandas】3.2-数据预处理:行的基本操作