在本地写代码,右键运行,将代码自动提交到集群上
spark是Standalone集群
1) 集群环境准备好
#启动集群:第一台机器
start-dfs.sh
cd /opt/installs/spark
sbin/start-master.sh
sbin/start-workers.sh
sbin/start-history-server.sh
2) Windows指定远程解析器
在虚拟机上创建一个文件夹,用于同步本地代码到服务上。
#创建同步目录:将Windows上的代码和数据同步到Linux的这个目录下
mkdir -p /root/pyspark_code
至此,以后右键运行代码,都会将代码自动提交给集群,让集群运行,假如你想换回本地,可以在此处将环境切换回来。
问题:
解决方案:在bigdata01中,安装pyspark。
我们在linux上配置了阿里云的源,不代表在base中也可以使用,运行时需要带上源地址
pip install pyspark==3.1.2 -i https://pypi.tuna.tsinghua.edu.cn/simple/
验证是否已经安装:
pip list 或者 conda list
也可以这么干:
pip list | grep pyspark
下载完成之后,重启一下 pycharm.
3)代码如何提交到集群上
第一种是自动提交
:
第二种是手动提交:
同步后,在linux上查看,有代码:
运行的话,直接在本地右键运行即可,以上代码如果需要传递参数,在ide工具中写。
假如在运行过程中,出现
Initial job has not accepted any resources; check your cluster UI to ensure that workers are registe程序在运行时,没有资源,请确保你有worker,假如有worker,请查看worker是否有资源。
有可能是以下几个问题:
1、集群资源不足,关闭掉没用的资源
2、目前集群中有其他任务,占用了资源,直接关闭掉
修改一些配置:
修改 worker 的内存大小: