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://www.pswp.cn/pingmian/96014.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/96014.shtml

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

相关文章

第三方区块链应用测评:【多签钱包合约安全评估_阈值签名机制与私钥存储安全性测试】

阈值签名机制安全测试密码学审计 采用门限签名方案(TSS)的多签钱包需验证其阈值BLS签名或ECDSA签名算法的正确性。测试重点包括:分布式密钥生成(DKG)过程的保密性(无密钥信息泄露)、签名碎片验证…

大模型处理长文档的挑战和解决方案?

当前,AI 应用正处于极速发展阶段,大语言模型(LLM)与检索增强生成(RAG)系统已成为构建智能问答、知识管理等高阶 AI 应用的核心引擎,被广泛应用于金融分析、学术研究、企业合规等多个领域。然而&…

JavaWeb--day1--HTMLCSS

(以下内容全部来自上述课程及课件) web开发介绍 1. 什么是web? Web:全球广域网,也称为万维网,能够通过浏览器访问的网站。 2. Web网站的工作流程 3. Web标准 Web标准也称为网页标准,由一系列的标准组成&#xf…

OpenEuler安装gitlab,部署gitlab-runner

目录 一、安装gitlab 二、安装部署docker设置源 三、下载部署runner ​编辑 四、构建CI/CD 一、安装gitlab 1.查看OpenEuler版本 [rootlocalhost ~]# cat /etc/os-release NAME"openEuler" VERSION"24.03 (LTS-SP1)" ID"openEuler" VERSI…

实战项目-----在图片 hua.png 中,用红色画出花的外部轮廓,用绿色画出其简化轮廓(ε=周长×0.005),并在同一窗口显示

实战项目实现以下功能:对图片 hua.png 进行轮廓提取,并在同一窗口中完成以下两个绘制操作:用红色画出花的外部轮廓(即最外层轮廓)用绿色画出该轮廓的近似多边形,其中近似精度参数 ε 设置为轮廓周长的 0.00…

开源鸿蒙北向框架开发:系统服务理论详解

系统服务的启动 基本可以认为:OpenHarmony 的系统服务进程都是“由 init 直接或间接拉起”的。 直接方式: init 按 /system/etc/init/.cfg 启动可执行(如 /system/bin/sa_main、/system/bin/samgr 等),这些进程的 PPid…

龙虎榜——20250909

上证指数今天缩量收阴线,跌破10日均线,目前日线总体处于高位宽幅震荡中,小级别暂未明确方向,指数面临方向选择,需要注意高位股的风险。 深证指数今天缩量收阴线,跌破5日均线,接下来几天方向的选…

基于dijkstra算法的WSN网络MAC协议matlab仿真,分析网络延迟与网络开销

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.部分程序 4.算法理论概述 5.完整程序 1.程序功能描述 无线传感器网络(WSN, Wireless Sensor Network)是由大量低成本、低功耗的传感器节点组成,通过无线通信实现数据采集、传输与…

ES数据库启动时可以设置1G一下内存吗

可以,但强烈不建议在生产环境中这样做。ES 7.0 版本确实可以设置小于 1GB 的堆内存,但这会带来严重的性能问题和稳定性风险。 快速回答 # 最小化配置示例 - 仅用于测试或开发环境 export ES_JAVA_OPTS"-Xms512m -Xmx512m" ./bin/elasticsearch…

TI-92 Plus计算器:单位换算功能介绍

1 TI-92 Plus计算器:单位换算功能介绍 TI-92 Plus 内置了全面的单位换算功能,支持长度、质量、时间、温度、面积、体积、速度等数十种物理量的单位转换,操作直观,无需手动输入换算系数。以下是具体使用方法、示例及功能特点&#…

雪球科技Java开发工程师笔试题

单选 1.下列哪些语句关于内存回收的说明是正确的?( C ) A.内存回收程序允许程序员直接释放内存 B.程序员必须创建一个线程来释放内存 C.内存回收程序负责释放无用内存 D.内存回收程序可以在指定的时间释放内存对象 2.以下哪项不是Java基础类型(A) A.String B.int C.b…

NV3041A-01芯片屏幕

1. 核心概览这是一款集成了电源管理、显示内存(RAM)、时序控制等多种功能的单片显示驱动芯片(通常称为Driver IC)。它采用COG(Chip-On-Glass) 工艺,直接将芯片绑定在玻璃基板上,使得…

aiagent知识点

一、MCP (Model Context Protocol) 1. 核心概念是什么:MCP是一个开放协议,用于在应用(如IDE、Agent) 和工具/数据源(如服务器、数据库) 之间建立标准化的通信。目标:解决AI工具生态的碎片化问题…

第2节-过滤表中的行-WHERE

摘要:在本教程中,您将学习如何使用 PostgreSQL 的 WHERE 子句来筛选表中的行。 PostgreSQL WHERE 子句 SELECT FROM 语句从表中所有行的一个或多个列中查询数据。实际上,你经常需要选择满足某个条件的行。 要根据条件从表中筛选行&#xf…

IACheck赋能AI环评报告审核,推动环保设备制造行业发展

在“双碳目标”和绿色制造的背景下,环保设备制造行业正在迎来快速发展。然而,环评报告作为项目合规的“通行证”,却一直是企业最头疼的环节之一:编写复杂、审核周期长、错误率高。传统的审核模式不仅耗时耗力,还容易出…

常见的多态

一、核心概念多态(Polymorphism) 的字面意思是“多种形态”。在Java中,它指的是:同一个行为(方法)具有多个不同表现形式或形态的能力。更具体地说,它允许你:父类的引用指向子类的对象…

20250909_排查10.1.1.190档案库房综合管理系统20250908备份缺失问题+优化scp脚本(把失败原因记录进日志)并测试脚本执行情况

目录 一、现象(图中现象) 二、可能原因 1、本地源文件没生成(最可能原因) 2、清理逻辑误删 三、时间同步检查 1、运行命令查看当前时间源:w32tm /query /source 2、修改为内网 NTP 服务器 10.1.10.251: 四、脚本优化 1、scp.bat vs roboscp.bat 对比表 2、robo…

OpenHarmony之有源NFC-connected_nfc_tag模块详解

1. 模块概述 Connected NFC Tag模块是OpenHarmony NFC子系统的一部分,专门用于处理有源NFC标签的读写操作。与基础NFC模块不同,该模块专注于与已连接的有源NFC标签进行交互,提供更高层次的API供应用层使用。 设备必须具备有源NFC标签芯片,才能使用有源NFC标签的读和写服务…

MySql案例详解之事务

下面我会从“事务是什么”→“为什么需要事务”→“事务的四大特性(ACID)”→“MySQL中怎么用事务”→“常见坑与调试技巧”→“完整实战案例(含代码、输出、讲解)”六个层次,给你一个“看完就能上手”的MySQL事务速查…

Linux之环境变量(内容由浅入深,层层递进)

一、概念介绍(来源:比特就业课)环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数环境变量通常具有某些特殊用途,并且在系统中通常具有全局特性二、现象引入与解答 1.为什么像ls这样的系统指令可以直接执行&#x…