在集群上運行python編寫的spark應用程序時遇到的一些問題…


1、  如何將編寫的應用程序提交給spark進行處理

首先,在Windows或Linux下編寫程序。其次,將編寫好的應用程序上傳至服務器(自己定義好存放的文件目錄)。最后,將程序提交給spark進行處理。如果程序沒有問題,一些依賴的包已經安裝,配置沒有問題,那么程序即可以正常運行。

 

2、  在程序運行過程中可能存在的問題一,JAVA_HOME is not set

錯誤提示很清楚,JAVA_HOME沒有設置,接下來進行設置。進入/opt/cloudera/parcels/SPARK2/lib/spark2/sbin(結合自己spark的安裝路徑),找到文件spark-config.sh,使用命令vi spark-config.sh打開文件,在文件最后添加export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64(結合自己jdk的安裝路徑設置)

 

 

3、  在程序運行過程中可能存在的問題二,No module named ‘***’

錯誤提示很清楚,這時我們將該模塊進行安裝即可。使用命令 pip/pip3 install ‘***’(本人更新了pip,根據自己情況)。還可能提示不存在命令pip,我們需要使用yum -y install pip即可。

 

4、運行spark程序時,發現端口被占用

如果發現端口被占用,則首先使用命令netstat -tln | grep 4040,查找被占用的端口。其次,使用命令lsof -i:4040查看被占用端口的PID。最后,使用命令kill -9 PID殺掉該進程。再次運行解決該問題。

 

netstat -tln | grep 4040
lsof -i:4040
kill -9 PID

 5、pyspark啟動時,報錯 Could not obtain block

使用jps查看NameNode、DataNode都正常、Spark、HDFS、Hive等也正常,但是還是出現此類問題,這時不妨查看一下防火牆吧,關閉防火牆即可。具體做法請看:https://www.cnblogs.com/ltolstar/p/9775821.html

  參考博文:https://blog.csdn.net/u013451157/article/details/78943072

 

未完待續......


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM