分享

spark-submit 提交python程序,运行出现module未发现

ltne 2018-8-23 11:25:30 发表于 疑问解答 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 4 13046
本帖最后由 ltne 于 2018-8-23 11:26 编辑

用spark-submit 提交python程序,里面需要引用pywt的module,现在集群每个节点的python环境都安装了pywt,每个节点运行python,import pywt是没有问题的,但是执行spark-submit程序的时候提示找不到,而且启动pyspark也是可以正常import pywt的。
之后将python环境打包,用zip -r ,python用的是anaconda2 , zip -r anaconda2.zip anaconda2/  打包这个文件夹,传到hdfs上面,
./spark-submit --master yarn --deploy-mode cluster --archives 'hdfs://master:9000/user/hadoop/anaconda2.zip#anaconda2' --conf 'spark.yarn.appMasterEnv.PYSPARK_PYTHON=./anaconda2/anaconda2/bin/python2' /home/hadoop/lt/platform/feature.py
运行时提示
18/08/23 11:15:49 INFO ApplicationMaster: Final app status: FAILED, exitCode: 13, (reason: User class threw exception: java.io.IOException: Cannot run program "./anaconda2/anaconda2/bin/python2": error=2, No such file or directory
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
        at org.apache.spark.deploy.PythonRunner$.main(PythonRunner.scala:91)
        at org.apache.spark.deploy.PythonRunner.main(PythonRunner.scala)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.spark.deploy.yarn.ApplicationMaster$$anon$4.run(ApplicationMaster.scala:706)
Caused by: java.io.IOException: error=2, No such file or directory
        at java.lang.UNIXProcess.forkAndExec(Native Method)
        at java.lang.UNIXProcess.<init>(UNIXProcess.java:247)
        at java.lang.ProcessImpl.start(ProcessImpl.java:134)
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)

不知道是否zip打包问题,还是什么问题。

已有(4)人评论

跳转到指定楼层
sstutu 发表于 2018-8-23 13:54:49
首先需要看./spark-submit是路径是哪个?而且路径不需要引号。
楼主建议多细心对比其他提交程序。
回复

使用道具 举报

ltne 发表于 2018-8-23 14:51:28
sstutu 发表于 2018-8-23 13:54
首先需要看./spark-submit是路径是哪个?而且路径不需要引号。
楼主建议多细心对比其他提交程序。

这里路径有没有引号都是一样的错误呢
回复

使用道具 举报

sstutu 发表于 2018-8-23 15:31:20
ltne 发表于 2018-8-23 14:51
这里路径有没有引号都是一样的错误呢

./anaconda2/anaconda2/bin/python2
这里换成绝对路径试试
回复

使用道具 举报

ltne 发表于 2018-8-23 15:34:18
sstutu 发表于 2018-8-23 15:31
./anaconda2/anaconda2/bin/python2
这里换成绝对路径试试

这个路径anaconda2 是对应archives后面#后面的anaconda2,这个时候只能是相对路径呢,archives里面的压缩包上传之后解压,绝对路径我们不知道的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条