使用PyCharm连接虚拟机运行spark任务,本地开发:远程提交测试

在本地写代码,右键运行,将代码自动提交到集群上

spark是Standalone集群

1) 集群环境准备好

sql 复制代码
#启动集群:第一台机器
start-dfs.sh
cd /opt/installs/spark
sbin/start-master.sh
sbin/start-workers.sh
sbin/start-history-server.sh

2) Windows指定远程解析器

在虚拟机上创建一个文件夹,用于同步本地代码到服务上。

sql 复制代码
#创建同步目录:将Windows上的代码和数据同步到Linux的这个目录下
mkdir -p /root/pyspark_code

至此,以后右键运行代码,都会将代码自动提交给集群,让集群运行,假如你想换回本地,可以在此处将环境切换回来。

问题:

解决方案:在bigdata01中,安装pyspark。

sql 复制代码
我们在linux上配置了阿里云的源,不代表在base中也可以使用,运行时需要带上源地址
pip install pyspark==3.1.2 -i https://pypi.tuna.tsinghua.edu.cn/simple/

验证是否已经安装:

sql 复制代码
pip list 或者  conda list
也可以这么干:
pip list | grep pyspark

下载完成之后,重启一下 pycharm.

3)代码如何提交到集群上

第一种是自动提交

第二种是手动提交:

同步后,在linux上查看,有代码:

运行的话,直接在本地右键运行即可,以上代码如果需要传递参数,在ide工具中写。

假如在运行过程中,出现

sql 复制代码
Initial job has not accepted any resources; check your cluster UI to ensure that workers are registe

程序在运行时,没有资源,请确保你有worker,假如有worker,请查看worker是否有资源。

有可能是以下几个问题:

1、集群资源不足,关闭掉没用的资源

2、目前集群中有其他任务,占用了资源,直接关闭掉

修改一些配置:

修改 worker 的内存大小:

相关推荐
生命不息战斗不止(王子晗)2 分钟前
mybatis中${}和#{}的区别
java·服务器·tomcat
文人sec8 分钟前
接口自动化测试设计思路--设计实战
python·https·单元测试·自动化·pytest
子燕若水25 分钟前
Flask 调试的时候进入main函数两次
后端·python·flask
编程有点难25 分钟前
Python训练打卡Day23
开发语言·python
Ha-gd30 分钟前
Linux基础开发工具一(yum/apt ,vim)
linux·服务器
姬激薄42 分钟前
什么是SparkONYarn模式
spark
猪猪果泡酒43 分钟前
Spark,RDD中的行动算子
大数据·分布式·spark
qq_14182697321 小时前
python通过curl访问deepseek的API调用案例
java·数据库·python
2401_871290581 小时前
Spark处理过程-转换算子
大数据·分布式·spark
Betty_蹄蹄boo1 小时前
运行Spark程序-在Spark-shell——RDD
大数据·分布式·spark