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

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

相关文章

【快手】数据挖掘面试题0001:查找连续三天登录的用户

文章大纲一、测试数据构建二、自连接方案三、窗口函数方案一张用户表,uer_id,signin_date,大概是这么几项,查找连续三天登录的用户。 比如说,1,2两天登录不是连续三天,456登录为连续三天登录,56…

简说scp命令

简单介绍 scp的全称是:Secure Copy Protocol(安全复制协议),是Linux中用于在网络中安全传输文件的命令行工具。它基于SSH协议,用于在本地服务器和远程服务器之间,或者两台远程服务器之间复制文件或目录。 s…

自动化测试解决方案Parasoft SOAtest无脚本UI测试实践指南

传统UI自动化测试常面临技术门槛高、维护成本大、稳定性差等挑战。尤其在页面频繁变更时,测试脚本的更新和维护会显著降低测试效率。 自动化测试解决方案Parasoft SOAtest通过可视化操作和智能元素定位技术,无需编写代码,让测试人员能够像真…

vscode配置头文件和编译器

在 VS Code 中配置编译器和头文件路径需要修改两个核心文件:c_cpp_properties.json(用于智能提示)和 tasks.json(用于构建)。以下是详细步骤: —### 1. 配置智能提示和头文件路径 (c_cpp_properties.json)作…

HTML+JS+CSS制作一个数独游戏

闲来无事,用HTMLJSCSS制作了一个数独游戏消遣。其实主要是自己做题的时候用笔画删除数字太容易出错,所以想搞一个程序稍微辅助一下。通过制作这个程序,反而提高了手工做题的水平,至少学会了记录步数以便于回退。 20250710功能更新…

嵌入式硬件中电容的基本原理与实现详解02

我们今天重点讨论点知识点如下: 1.各种种类的电容优缺点对比讲解 2.电容的标称值介绍 3.电容的单位介绍 4.常见的电压信号有哪些? 5. 电容的耐压值讲解 6.电容的容值有哪些? 7.12pF、15pF 电容常用在什么场合? 8. 振荡电路中使用的电容常常需要使用什么材质的电容? 9.100n…

Python训练打卡DAY46

DAY46:通道注意力(SE注意力) 恩师浙大疏锦行 知识点: 不同CNN层的特征图:不同通道的特征图什么是注意力:注意力家族,类似于动物园,都是不同的模块,好不好试了才知道。通…

fastadmin_php专项

1.时间的判断,还有就是在php这边如何去拿前端html元素上面的值input($row.borrowtime);// 创建两个 DateTime 对象$row_expecttime new \DateTime(input($row.borrowtime));$par_expecttime new \DateTime( $params[expecttime]); // // 计算两个日期之间的差异 // …

如何在MySQL中选择使用InnoDB还是MyISAM引擎?

在 MySQL 中选择 InnoDB 还是 MyISAM 存储引擎时,需根据应用场景的需求权衡功能、性能和数据完整性。以下是具体的选择指南: 1. 优先考虑事务和外键需求必须使用 InnoDB: 若应用需要 事务支持(如金融转账、订单处理)或…

邀请函 | 知从科技邀您共赴2025 RISC-V 中国峰会

第五届RISC-V中国峰会将于2025年7月16至19日在上海张江科学会堂隆重举办,本届峰会由上海开放处理器产业创新中心(SOPIC)主办,RISC-V国际开源实验室(RIOS实验室)和上海张江高科技园区开发股份有限公司联合主…

企业数字化转型规划和建设方案(管理架构、应用架构、技术架构)PPT

一、战略定位与核心目标以 “技术赋能业务,数据驱动创新” 为核心思路,构建 “三步走” 战略演进路径,实现 IT 从 “基础支撑” 到 “战略引擎” 的升级:IT1.0(1-2 年):夯实基础能力定位 “稳健…

基于Uniapp+MySQL+PHP的景区多商户小程序源码系统 带完整的搭建指南

温馨提示:文末有资源获取方式该系统采用 PHP MySQL 的经典开发组合。PHP 作为一种广泛使用的开源脚本语言,具有简单易学、运行速度快、跨平台性强等优点,能够快速开发出功能强大的 Web 应用程序。MySQL 则是一款稳定可靠的关系型数据库管理系…

阿里云和腾讯云RocketMQ 发消息和消费消息客户端JAVA接口

一、RocketMQ 概述RocketMQ 是阿里巴巴开源的一款分布式消息中间件,后捐赠给 Apache 基金会成为顶级项目。它具有低延迟、高并发、高可用、高可靠等特点,广泛应用于订单交易、消息推送、流计算、日志收集等场景。核心特点分布式架构:支持集群…

Vue响应式原理六:Vue3响应式原理

1. 多个对象响应式当前存在的问题:当前实现仅针对某个固定对象(obj)进行依赖收集,实际开发中需要处理多个不同对象将对象响应式处理逻辑抽取为通用函数,支持任意对象代码如下: // 方案一:Obje…

【算法笔记 day three】滑动窗口(其他类型)

hello大家好!这份笔记包含的题目类型主要包括求子数组已经一些比较‘小众’的题目。和之前一样,笔记中的代码和思路要么是我手搓要么是我借鉴一些大佬的想法转化成自己的话复现。所以方法不一定是最好的,但一定是经过我理解的产物&#xff0c…

docker-镜像管理指南

在本节中,我们将详细介绍 Docker 镜像的常用命令,帮助您更好地管理和操作镜像。以下是核心命令及其功能说明:1.使用"ls"查看镜像列表#查看现有的镜像列表[rootdocker01 ~]# docker images [rootdocker01 ~]# docker image ls#仅查看…

Mac 电脑无法读取硬盘的解决方案

引言近年来,选择使用 Mac 电脑的用户越来越多,尤其是在设计、开发、剪辑、文档处理等领域,macOS 凭借其优秀的系统生态与硬件体验吸引了大量拥趸。与此同时,对于摄影师、剪辑师、程序员、学生等用户来说,一块移动硬盘往…

25春期末考

web 疯狂星期四 先来看一下源码 分析代码的黑名单后得知 我们可以用的字符就只剩下 字母a-z(大小写均可) 数字2 空格 这里的限制太多了 这里比较常用的getallheaders被ban掉了 这里就是用session来做 session_start()开启session session_id()获取session 这里我们要构造一…

时间显示 蓝桥云课Java

目录 题目链接 题目 解题思路 代码 题目链接 竞赛中心 - 蓝桥云课 题目 解题思路 通过%天数,得到一天内的时间,然后/小时单位(换算成毫秒的)得到小时,然后总数减去该小时,得到分钟数,秒数同理 代码 import java.util.Scanner; // 1:无需package // 2: 类名必须Main, 不…

STM32F1控制步进电机

一、基础知识1. 步进电机控制方式脉冲方向控制(最常见)控制信号:DIR方向:高低电平决定正转或反转;STEP脉冲:每个脉冲电机前进一步(可通过端口拉高拉低来模拟脉冲,或使用pwm来生成脉冲…