Spark,Anconda在虚拟机实现本地模式部署

如果想要了解模式的概念部分,以及作用请看:

Spark学习-CSDN博客

一.在虚拟机安装spark

bash 复制代码
cd /opt/modules

把Anconda和Spark安装包拖拽进去:

解压:

bash 复制代码
tar -zxf spark-3.1.2-bin-hadoop3.2.tgz -C  /opt/installs

重命名:

bash 复制代码
cd /opt/installs
mv spark-3.1.2-bin-hadoop3.2 spark-local

什么模式就在后面添加上对应的单词,这样方便识别。

创建软链接:

bash 复制代码
ln -s spark-local spark

这样我们就可以部署本地模式和集群模式,并且在使用的时候想使用哪种模式只需要删除软链接,然后新建一个对应模式的软链接就可以了,非常的方便。

配置环境变量:

bash 复制代码
vi /etc/profile

然后添加如下:

bash 复制代码
export SPARK_HOME=/opt/installs/spark
export PATH=$SPARK_HOME/bin:$PATH

二.安装Python

先回到cd /opt/modules然后操作如下:

bash 复制代码
# 添加执行权限
chmod u+x Anaconda3-2021.05-Linux-x86_64.sh
# 执行
sh ./Anaconda3-2021.05-Linux-x86_64.sh
# 过程
#第一次:【直接回车,然后按q】
   Please, press ENTER to continue
   >>>
#第二次:【输入yes】
 Do you accept the license terms? [yes|no]
 [no] >>> yes
#第三次:【输入解压路径:/opt/installs/anaconda3】
 [/root/anaconda3] >>> /opt/installs/anaconda3
 #第四次:【输入yes,是否在用户的.bashrc文件中初始化
Anaconda3的相关内容】
 Do you wish the installer to initialize  Anaconda3
   by running conda init? [yes|no]
   [no] >>> yes

安装完成后:

bash 复制代码
# 刷新环境变量
source /root/.bashrc
# 激活虚拟环境,如果需要关闭就使用:conda deactivate
conda activate

输入python3 查看命令是否可用 :

再配置一下环境变量:

bash 复制代码
# 编辑环境变量
vi /etc/profile
# 添加以下内容
# Anaconda Home
export ANACONDA_HOME=/opt/installs/anaconda3
export PATH=$PATH:$ANACONDA_HOME/bin

刷新环境变量做一个软链接:

bash 复制代码
# 刷新环境变量
source /etc/profile
小结:实现Linux机器上使用Anaconda部署Python
3:单机部署:Spark Python Shell
目标:掌握Spark Shell的基本使用
实施
功能:提供一个交互式的命令行,用于测试开发Spark的程序代码
Spark的客户端bin目录下:提供了多个测试工具客户端
启动
核心
# 创建软连接
ln -s /opt/installs/anaconda3/bin/python3 /usr/bin/python3
# 验证
echo $ANACONDA_HOME

三.测试

准备测试一下spark

启动:

bash 复制代码
# 启动Python开发Spark的交互命令行
# --master:用于指定运行的模式,--master yarn  
# local[2]:使用本地模式,并且只给2CoreCPU来运行程序
/opt/installs/spark/bin/pyspark --master local[2]

启动完成如下:

完成之后在spark玩一个案例:

bash 复制代码
# 定义一个列表
list1 = [1,2,3,4,5,6,7,8,9,10]
# 将列表通过SparkContext将数据转换为一个分布式集合RDD
inputRdd = sc.parallelize(list1)

# 将RDD中每个分区的数据进行处理
rsRdd = inputRdd.map(lambda x : x**2)

# 将结果RDD的每个元素进行输出
rsRdd.foreach(lambda x : print(x))

四.后续接着更新集群的部署使用

相关推荐
连线Insight几秒前
3.5亿月活后,豆包收费是一场冒险吗?
大数据·人工智能
T06205145 分钟前
【实证分析】绿色债券工具变量-含代码(2000-2025年)
大数据
aichitang20249 分钟前
AI Agent 终端与系统级自动化深度指南
运维·人工智能·自动化
花间相见15 分钟前
【Ubuntu实用工具】—— 高颜值实用ls命令工具lsd
linux·运维·ubuntu
gergul19 分钟前
python venv虚拟环境复制
linux·开发语言·python
the sun3425 分钟前
共享文件夹设置:让Windows和Ubuntu能方便的传输文件
linux·windows·ubuntu
TDengine (老段)26 分钟前
TDengine 时序数据库在城市燃气场景的落地实践
大数据·数据库·人工智能·物联网·时序数据库·tdengine·涛思数据
虎头金猫28 分钟前
监控机不在被监控的机器上,Prometheus怎么跨网络把数据拉过来
运维·服务器·开发语言·网络·云原生·开源·prometheus
七夜zippoe29 分钟前
DolphinDB查询优化:执行计划分析
大数据·数据库·信息可视化·dolphindb·查询优化
skilllite作者30 分钟前
Agent-Skills 核心能力与实战效能深度评测
大数据·开发语言·前端·数据库·人工智能·python