Pycharm配置Spark环境时候遇到的几个问题

第一个问题:python报错:missing 1 required positional argument: ‘value‘

python报错:missing 1 required positional argument: ‘value‘

这个问题一定要第一时间查看一下import的方法有没有实例化,错误写法如下

from pyspark import SparkConf
conf = SparkConf.setMaster("local[*]").setAppName("WordCountHelloWorld")

对比一下下面正确的写法,明眼的同学相信已经看出来了,少了(),我当时真的眼拙了,扣了好久,哈哈

from pyspark import SparkConf
conf = SparkConf().setMaster("local[*]").setAppName("WordCountHelloWorld")

第二个问题:Exception in thread "main" org.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=executor...

Exception in thread "main" org.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=executor......

原因就是Windows和Linux的用户名不一致,由于,Hadoop的权限验证是依靠Linux系统的,而用户名不一致,会报错

解决办法:修改linux中hdfs-site.xml【位置在hadoop/etc/hadoop/hdfs-site.xml】,在里面添加配置

  <property>
	  <name>dfs.permissions.enabled</name>
	  <value>false</value>
	  
  </property>

然后重新启动hadoop集群即可

对于这个问题,错误的原理分析也可以适当参考一下https://blog.csdn.net/haohaoxuexiyai/article/details/116530770?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169172420416800192290440%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=169172420416800192290440&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-7-116530770-null-null.142^v92^controlT0_1&utm_term=Caused%20by%3A%20org.apache.hadoop.ipc.RemoteException%28org.apache.hadoop.security.AccessControlException%29%3A%20Permission%20denied%3A%20user%3Droot%2C%20access%3DEXECUTE%2C%20inode%3D%2Fdata%3Ahadoop%3Asupergroup%3Adrwxrwx---&spm=1018.2226.3001.4187

第三个问题:TypeError: 'JavaPackage' object is not callable

TypeError: 'JavaPackage' object is not callable

原因一般就是import的包版本不对导致的,我本人的Linux环境spark版本为3.2.0,而pycharm里面pyspark包的版本却是latest的3.4.1版本,说白了货不对板导致的

解决方法:删除原来的版本,重新install对应的3.2.0版本

 好了,分享一下今天学习spark中踩过的坑,因为相关解决办法不多,所以这里分享几种较为有效的,也希望能对你们碰到的相似问题可以完美KO掉,打字不易,如果我的方法有效的话,麻烦给点个赞吧,感谢!

2023年8月12日更新

对于昨天碰到的问题2,是因为远程连接的用户是root用户,而当前运行的user是hadoop用户没有相关的操作权限,所以给hadoop授权一下就行了,在linux中的hadoop用户,使用

 hadoop fs -chmod 777 /user

获取相应权限即可,后续像还原只需要改回755即可

第四个问题:Failed to submit xxxxxxx to YARN : root is not a leaf queue

Failed to submit xxxxxxx to YARN : root is not a leaf queue

 这里的意思就是root没有配置好节点队列

解决方法,修改yarn-site.xml(位置:.../hadoop/etc/hadoop/yarn-site.xml)中的配置

 <!-- 选择调度器,默认容量 -->
    <property>
        <description>The class to use as the resource scheduler.</description>
        <name>yarn.resourcemanager.scheduler.class</name>
        <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
    </property>

之前我的调度器为

<value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
<description>选择公平调度器</description>

 要把其修改为上面的默认容量的选择调度器

参考文章为:https://blog.csdn.net/wenchun001/article/details/128975141

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PyCharm是一款功能强大的Python集成开发环境(IDE),可以方便地配置和管理Spark运行环境。下面是配置PyCharmSpark的步骤: 1. 安装Java Development Kit(JDK):首先,确保你已经安装了JDK。你可以从Oracle官网下载并安装适合你操作系统的JDK版本。 2. 下载Spark:访问Apache Spark官网(https://spark.apache.org/downloads.html),选择适合你的Spark版本并下载。 3. 解压Spark:将下载的Spark压缩包解压到你想要安装的目录。 4. 配置环境变量:将Spark的bin目录添加到系统的环境变量中。在Windows系统中,可以在系统属性中的"高级系统设置"中设置环境变量;在Linux或Mac系统中,可以编辑.bashrc或.bash_profile文件,并添加以下行: ``` export SPARK_HOME=/path/to/spark export PATH=$SPARK_HOME/bin:$PATH ``` 5. 打开PyCharm:启动PyCharm,并创建一个新的Python项目。 6. 配置PyCharmSpark:在PyCharm的菜单栏中,选择"File" -> "Settings"。 7. 在设置窗口中,选择"Project" -> "Project Interpreter"。 8. 点击右上角的齿轮图标,选择"Add..."。 9. 在弹出的窗口中,选择"System Interpreter",然后点击"OK"。 10. 在解释器路径中,选择你的Python解释器。 11. 在"Environment variables"部分,点击"+"按钮添加一个新的环境变量。 12. 设置环境变量名为"PYSPARK_PYTHON",值为你的Python解释器的路径。 13. 点击"OK"保存设置。 现在,你已经成功配置PyCharmSpark的运行环境。你可以在PyCharm中编写和运行Spark应用程序了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值