在虚拟机中搭建Spark学习环境的完整指南

news/2025/2/24 4:23:52

大数据处理领域,Apache Spark作为一种强大的开源数据处理框架,因其高效性和灵活性而备受开发者青睐。为了更好地学习和实践Spark,许多初学者会选择在虚拟机中搭建Spark环境。本文将详细介绍如何在虚拟机中创建并配置Spark环境,从虚拟机的创建到Spark的安装与验证,帮助你快速上手。

一、虚拟机环境准备

1. 选择虚拟机软件

常见的虚拟机软件有Oracle VM VirtualBox、VMware Workstation和Hyper-V。对于初学者来说,VirtualBox是一个不错的选择,因为它免费且易于使用。

2. 创建虚拟机

以VirtualBox为例,以下是创建虚拟机的步骤:

  1. 下载并安装Oracle VM VirtualBox。

  2. 启动VirtualBox,点击“新建”。

  3. 配置虚拟机名称(如“SparkVM”),选择系统类型为Linux,版本为Ubuntu (64-bit)。

  4. 分配内存,建议至少分配4GB。

  5. 创建虚拟硬盘,建议大小为20GB,格式选择VMDK。

3. 安装操作系统

选择Ubuntu作为操作系统,可以使用Ubuntu Server或Desktop版。下载ISO文件并在VirtualBox中加载该文件进行安装。安装完成后,确保虚拟机的网络连接正常。

二、安装Java

Spark是用Scala编写的,而Scala依赖于Java,因此需要先安装Java。

sudo apt update                  # 更新软件包列表
sudo apt install openjdk-11-jdk  # 安装OpenJDK 11
java -version                     # 检查Java安装情况

三、下载并安装Spark

可以从Apache官网下载最新版本的Spark。

wget https://downloads.apache.org/spark/spark-3.5.3/spark-3.5.3-bin-hadoop3.2.tgz  # 下载Spark
tar -xzf spark-3.5.3-bin-hadoop3.2.tgz  # 解压文件
sudo mv spark-3.5.3-bin-hadoop3.2 /opt/spark  # 移动到/opt目录下

四、配置环境变量

为了方便使用Spark,需要将Spark的路径添加到环境变量中。

echo 'export SPARK_HOME=/opt/spark' >> ~/.bashrc  # 添加SPARK_HOME到.bashrc
echo 'export PATH=$PATH:$SPARK_HOME/bin' >> ~/.bashrc  # 添加Spark的bin目录到PATH
source ~/.bashrc  # 刷新.bashrc文件

五、启动Spark

Spark主要有Standalone模式和集群模式。我们先用Standalone模式进行测试。

start-master.sh  # 启动Spark Master
start-slave.sh spark://<master_ip>:7077  # 启动Spark Worker,替换<master_ip>

六、验证安装

运行一个Spark示例程序来验证安装是否成功。

spark-submit --class org.apache.spark.examples.SparkPi $SPARK_HOME/examples/jars/spark-examples_2.12-3.5.3.jar 100

如果程序正常运行并输出结果,则说明Spark环境搭建成功。

七、扩展:配置Python环境(可选)

如果你计划使用PySpark进行开发,还需要安装Python环境。

  1. 安装Anaconda或直接安装Python 3。

  2. 创建PySpark虚拟环境:

    conda create -n pyspark python=3.8
    conda activate pyspark
  3. 配置环境变量:

    export PYSPARK_PYTHON=/path/to/anaconda3/envs/pyspark/bin/python3.8

八、总结

通过本文的步骤,你可以在虚拟机中成功搭建一个完整的Spark学习环境。无论是进行单机开发,还是尝试集群模式,这个环境都能满足你的需求。希望本文能帮助你在Spark学习的道路上迈出坚实的一步!

如果你在搭建过程中遇到任何问题,欢迎在评论区留言,我会尽力为你解答。


http://www.niftyadmin.cn/n/5863964.html

相关文章

Oracle JDK、Open JDK zulu下载地址

一、Oracle JDK https://www.oracle.com/java/technologies/downloads/ 刚进去是最新的版本&#xff0c;往下滑可以看到老版本 二、Open JDK的 Azul Zulu https://www.azul.com/downloads/ 直接可以选版本等选项卡

某生产制造集团管理流程优化项目成功案例纪实

某生产制造集团管理流程优化项目成功案例纪实 ——打造数智化管理新体验&#xff0c;实现组织效率的飞跃 【客户行业】生产制造 【问题类型】流程管理 【客户背景】 某生产制造集团专注于高精度机械部件的研发与生产&#xff0c;服务于航空、汽车、医疗设备等多个高端制造…

tortoiseGit的使用和上传拉取

tortoiseGit的使用和上传拉取 下载TortoiseGit 通过网盘分享的文件&#xff1a;tortoiseGit.zip 链接: https://pan.baidu.com/s/1EOT_UsM9_OysRqXa8gES4A?pwd1234 提取码: 1234 在电脑桌面新建文件夹并进入 右击鼠标 将网址复制上去 用户名和密码是在git注册的用户名和…

【MyBatis】#{} 与 ${} 的区别(常见面试题)

目录 前言 预编译SQL和即时SQL 什么是预编译SQL&#xff1f; 什么是即时SQL&#xff1f; 区别 #{} 与 ${}的使用 防止SQL注入 什么是SQL注入&#xff1f; 原理 排序功能 模糊查询 总结#{}和${}的区别 前言 在前面的学习中&#xff0c;我们已经知道了如果SQL语句想…

draw.io:开源款白板/图表绘制利器

在工作和学习中&#xff0c;我们常常需要绘制各种图表&#xff0c;例如流程图、思维导图、网络拓扑图等等。一款功能强大且易于上手的图表绘制工具可以极大地提高我们的效率。今天&#xff0c;我要向大家推荐一款开源免费的图表绘制工具—— draw.io&#xff0c;并手把手教你如…

Linux 系统中的软链接与硬链接

目录 一、什么是软链接&#xff1f; 1. 创建软链接 2. 软链接的特性 3. 软链接的用途 二、什么是硬链接&#xff1f; 1. 创建硬链接 2. 硬链接的特性 3. 硬链接的用途 4. 目录硬链接的特殊性 ​编辑 三、软链接与硬链接的区别 1. inode 编号 2. 路径依赖 3. 删除行…

安卓好软-----车机端 安卓tv端很好用的应用管家 adb 授权等等功能

应用管家是一款完全免费且实用的安卓平台系统管理工具&#xff0c;专为管理电视、车机的应用及文件而设计。其支持提取/卸载禁用自带应用、传送安装、清理及本地文件查找编辑压缩等等功能。 众所周知&#xff0c;当前市面上大多数厂家智能电视系统均基于谷歌原生安卓进行了“深…

go channel 的用法和核心原理、使用场景

一、Channel 的核心用法 1. 基本操作 // 创建无缓冲 Channel&#xff08;同步通信&#xff09; ch : make(chan int) // 创建有缓冲 Channel&#xff08;容量为5&#xff0c;异步通信&#xff09; bufferedCh : make(chan int, 5) // 发送数据到 Channel ch <- 42 // 从…