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

Spark伪分布式集群搭建(Ubuntu系统)

环境准备
  1. 系统要求:Ubuntu 20.04/22.04 LTS

  2. 软件版本

    • Hadoop 3.3.5

    • JDK 8

    • Spark-3.5.6-bin-hadoop3

  3. 硬件要求:至少4GB内存,20GB磁盘空间

以下是基于Ubuntu系统的Spark伪分布式集群搭建全流程。以Spark 3.5.6 + Hadoop 3.3.5 + JDK 1.8组合为例,适用于Ubuntu 20.04/22.04系统:


详细步骤

1.安装Hadoop3.3.5(伪分布式)

Spark的安装过程较为简单,在已安装好 Hadoop 的前提下,经过简单配置即可使用。
如果你的系统没有安装Hadoop3.3.5(伪分布式),请访问Hadoop伪分布式集群搭建(Ubuntu系统),依照教程学习安装即可。

2.安装JAVA JDK

安装Hadoop3.3.5的过程就已经要求安装JAVA JDK1.8了。如果没有,请参考Hadoop伪分布式集群搭建(Ubuntu系统)进行安装配置。

3.下载安装Spark

首先需要下载Spark安装文件,访问Spark官网。

①使用FinalShell将Spark安装包上传至虚拟机目录:/home/hadoop/下载

解压Spark安装包至/usr/local目录下

sudo tar -zxvf /home/hadoop/下载/spark-3.5.6-bin-hadoop3.3.tgz -C /usr/local/ # 解压到/usr/local
cd /usr/local/    #切换至spark安装目录
sudo chown -R hadoop ./spark-3.5.6-bin-hadoop3.3   #修改spark安装目录权限给Hadoop用户

4.修改Spark伪分布式配置文件

进入解压后的Spark安装目录的/conf目录即“/usr/local/spark-3.5.6-bin-hadoop3/conf”,复制spark-env.sh.template文件并重命名为spark-env.sh,命令如下:

cd /usr/local/spark-3.5.6-bin-hadoop3/conf    #切换conf目录
cp spark-env.sh.template spark-env.sh         #重命名文件

打开spark-env.sh文件:

vim spark-env.sh

在spark-env.sh文件头部添加如下代码 :

#Jdk安装路径export JAVA_HOME=/usr/local/jdk1.8.0_161   #Hadoop安装路径export HADOOP_HOME=/usr/local/hadoop-3.3.5#Hadoop配置文件的路径                export HADOOP_CONF_DIR=/usr/local/hadoop-3.3.5/etc/hadoop    #Spark主节点的IP地址或机器名export SPARK_MASTER_IP=hadoop                                                            #Spark本地的IP地址或机器名export SPARK_LOCAL_IP=hadoop  

5.启动和关闭Spark集群

切换到spark安装目录的/sbin目录,启动spark集群,命令如下:

cd /usr/local/spark-3.5.6-bin-hadoop3/sbin
./star-all.sh

 通过jps命令查看进程,如果既有Maste进程又有Worker进程,则说明spark启动成功。

切换至spark安装目录的/bin目录下,使用SparkPi计算Pi的值,命令如下:

cd /usr/local/spark-3.5.6-bin-hadoop3/bin
./run-example SparkPi 2

 关闭集群,命令如下:

cd /usr/local/spark-3.5.6-bin-hadoop3
sbin/stop-all.sh

 

6.启动Spark Shell 

cd /usr/local/spark-3.5.6-bin-hadoop3/bin
./spark-shell

使用:quit可以退出spark shell

学习Spark程序开发,建议首先通过spark-shell交互式学习,加深Spark程序开发的理解。
Spark shell 提供了简单的方式来学习 API,也提供了交互的方式来分析数据。

http://www.dtcms.com/a/272707.html

相关文章:

  • 查看uniapp 项目中没有用到依赖
  • CanOpen转EtherCAT网关与台达伺服的配置指南配置软件篇
  • Rust Web 全栈开发(三):使用 Actix 构建简单的 Web Service
  • 【解决方案】基于 Amazon CloudFormation 打造三层 Web 应用架构实战
  • GitHub信息收集
  • 如何利用个人电脑搭建FTP文件服务器实现远程协作
  • 第二章-AIGC入门-AI视频生成:几款实用AI视频生成工具全解析(7/36)
  • 精准估算如何选?功能点与故事点估算法全解析
  • Navicat实现MySQL数据传输与同步完整指南
  • 【Axure教程】中继器间图片的传递
  • Meta新注意力机制给 Transformer 升了级!底层架构的革命!
  • JAVA JVM对象的创建
  • 水陆联防智能升级:AI入侵检测系统守护零死角安全
  • 介绍 cnpm exec electron-packager
  • x86汇编语言入门基础(三)汇编指令篇3 位移运算
  • 【threejs】第一人称视角之八叉树碰撞检测
  • 蜻蜓I即时通讯系统重构宣言:破茧重生的技术革命-长痛不如短痛卓伊凡|麻子|果果
  • 大健康IP如何借“合规创新”抢占行业新风口|创客匠人
  • 解读 Go 中的 constraints包
  • 【TCP/IP】7. IP 路由
  • xml 知识总结: xsd,xsi:schemaLocation,xmlns,xmlns:xsi
  • SpringBoot系列—MyBatis(xml使用)
  • codeforeces Round1032 - Round 1036
  • 【node后端】搭建项目(Express+Ts+Typeorm+Mysql一步到位)
  • 深入浅出 Python Asynchronous I/O:从 asyncio 入门到实战
  • Arc Institute提出首个AIVC虚拟细胞模型STATE
  • 上海交大医学院张维拓老师赴同济医院做R语言训练营培训
  • 从Debug中学习MiniGPT4
  • 在Vue中如何对组件进行销毁在进行挂载
  • 模型训练之数据标注-Labelme的使用教程