龙空技术网

spark+python环境搭建

全栈笔记 331

前言:

眼前朋友们对“python脚本部署服务器”都比较着重,小伙伴们都需要分析一些“python脚本部署服务器”的相关知识。那么小编也在网上汇集了一些对于“python脚本部署服务器””的相关资讯,希望看官们能喜欢,同学们快快来了解一下吧!

最近项目需要用到spark大数据相关技术,周末有空spark环境搭起来...

目标

spark,python运行环境部署在linux服务器个人通过vscode开发通过远程python解释器执行代码
准备
腾讯云服务器一台个人笔记本一台vscodespark3.2,anaconda3,jdk1.8

spark安装

# 下载spark安装包wget  创建安装目录/export/servermkdir /export/server# 安装包解压tar -zxvf spark-3.2.1-bin-hadoop3.2.tgz -C "/export/server"# 创建spark安装目录软连接ln -s /export/server/spark-3.2.1-bin-hadoop3.2/ /export/server/spark# 进入spark可执行程序目录,执行pysparkcd /export/server/spark/bin; ./pyspark => JAVA_HOME is not set提示jdk未安装,下一步进行jdk安装...

jdk安装

# 将准备好的jdk安装包jdk-8u161-linux-x64.tar.gz解压至/export/server目录tar -zxvf /home/dev/jdk-8u161-linux-x64.tar.gz -C /export/server# 创建jdk安装目录软连接ln -s jdk1.8.0_161/ jdk8# 添加JAVA_HOME环境变量vi /etc/profile,添加 export JAVA_HOME=/export/server/jdk8 export PATH=$PATH:$JAVA_HOME/bin# 再次执行/export/server/spark>bin/pyspark => env: python3: No such file or directory提示python3没有安装,下一步进行python3安装...

Anaconda3安装(即python)

# 下载anaconda3安装包wget  安装anoconda3sh Anaconda3-2022.05-Linux-x86_64.sh在安装过程中的交互提示依次输入: enter => yes => /export/server/anaconda3 => yes直到安装完成# 重新登录终端看见(base)开头表示安装成功# vi /etc/profile,添加 export PYSPARK_PYTHON=/export/server/anaconda3/bin/python# 再次执行/export/server/spark>bin/pyspark => pyspark启动成功,进入交互页面# 输入python测试代码:>>>>>> sc.parallelize([1,2,3,4,5]).map(lambda x: x+1).collect()[2, 3, 4, 5, 6] #运行结果# pyspark运行时,在新开的终端检查4040端口监听情况netstat -anp|grep 4040tcp6 0 0 :::4040 :::* LISTEN -每一个Spark程序在运行的时候, 会绑定到Driver所在机器的4040端口上.如果4040端口被占用, 会顺延到4041...,可通过浏览器访问 4040端口
验证
# 通过spark-submit执行.py脚本,执行官方sample:/export/server/spark>bin/spark-submit \/export/server/spark/examples/src/main/python/pi.py 10# 自定义脚本helloworld.py:print("hello,world!")# 通过spark-submit执行/export/server/spark>bin/spark-submit /export/demo/helloworld.pyhello,world!  # 输出

PySpark库安装

conda create -n pyspark python=3.9 #创建虚拟环境pysparkconda activate pyspark #切换虚拟环境为pyspark# 检查虚拟环境pyspark的python解释器路径type python => python is /export/server/anaconda3/envs/pyspark/bin/pythonvi /etc/profile编辑PYSPARK_PYTHON=/export/server/anaconda3/envs/pyspark/bin/pythonpip install pyspark -i  #安装PySpark# 验证PySpark/export/server>python>>> import pyspark  # import pyspark不报错,表示pyspark库安装成功

本地vscode开发远程代码、使用远程解释器执行配置

本地免密访问服务器配置:将本地的公钥(C:\\Users\\your account\\.ssh\\id_rsa.pub)内容配置在需要免密访问的linux服务器用户的$HOME/.ssh/authorized_keys文件中vscode安装remote development插件,重启vscodevscode添加远程ssh targets:a) 点击ssh targets "+"b) 在弹出框输入 ssh username@ip 回车c) 在弹出的下拉项中选择 C:\\Users\\your account\\.ssh\\configd) 编辑config文件    Host xxx   #无需编辑    HostName xxx  #无需编辑    User xxx #无需编辑    ForwardAgent yes  # 需要新增    IdentityFile C:\\Users\\your account\\.ssh\\id_rsa  #需要新增 vscode安装python插件vscode添加远程python解释器:a) Ctrl + Shift + p打开命名面板b) 输入Python: Select Interpreter选择解释器c) 输入远程python解释器路径: /export/server/anaconda3/envs/pyspark/bin/python
vscode开发,远程执行验证
vscode选择远程服务器打开目录vscode中新建helloworld.py文件,并录入print("hello,world!")vscode中执行helloworld.py#使用的是远程解释器vscode提升缺少package,linux服务安装python包:pip install jupyter notebook -i 在vscode中重新运行helloworld.py运行成功

完成,以后就可以开心地编写pyspark代码了,再也不担心本机卡卡卡了(*_*),附完成图一张:

标签: #python脚本部署服务器 #腾讯python在线开发环境