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))

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

相关推荐
微光闪现5 小时前
AI识别宠物焦虑、紧张和晕车行为,是否已经具备实际可行性?
大数据·人工智能·宠物
张太行_6 小时前
Linux静态库:多模块高效管理
linux·运维·服务器
公子烨6 小时前
linux的斩杀线之OOM操控
linux
wgl6665207 小时前
Linux---基础IO!
linux·运维·服务器
Ancelin安心7 小时前
kali-dirsearch的使用
linux·运维·服务器·python·计算机网络·web安全·网络安全
jun_bai8 小时前
python+Java的网盘程序升级版。无感知备份文档,保护数据资产利器。
运维·服务器
IT利刃出鞘8 小时前
VMware--解决vmdk越来越大的问题(vmdk瘦身)
linux·ubuntu·vmware
大厂技术总监下海8 小时前
“Today I Learned”(TIL):一种比写博客更可持续的知识沉淀习惯
大数据·开源·github
suzhou_speeder8 小时前
PoE 延长器:突破 PoE 距离限制,优化网络灵活部署方案
运维·网络·poe·poe交换机·poe延长器
wdfk_prog8 小时前
[Linux]学习笔记系列 -- [driver]base
linux·笔记·学习