问题描述
我有一个flask API,使用pyspark可以启动spark并将作业发送到mesos集群。
执行器失败,因为它正在执行Flask API中spark-class所在的路由。
日志:
I0903 13:16:14.295672 4754 exec.cpp:164] Version: 1.9.0
I0903 13:16:14.299304 4760 exec.cpp:237] Executor registered on agent 3ac2aa4b-ff5b-4340-a56e-efe96b3b07a2-S2
I0903 13:16:14.301093 4758 executor.cpp:190] Received SUBSCRIbed event
I0903 13:16:14.301807 4758 executor.cpp:194] Subscribed executor on XXXXX
I0903 13:16:14.301923 4758 executor.cpp:190] Received LAUNCH event
I0903 13:16:14.302549 4758 executor.cpp:722] Starting task 3
I0903 13:16:14.310398 4758 executor.cpp:738] Forked command at 4764
sh: /home/user/source/environment/lib/python3.7/site-packages/pyspark/./bin/spark-class: No such file or directory
I0903 13:16:14.397004 4760 executor.cpp:1039] Command exited with status 127 (pid: 4764)
I0903 13:16:15.398034 4763 process.cpp:935] Stopped the socket accept loop
粗体路径是spark类实际上位于Flask服务器(作业请求者)中的部分
sh: /home/user/source/environment/lib/python3.7/site-packages/pyspark / 。/bin / spark-class:没有此类文件或目录
这里:
-rwxr-xr-x 1 root root 3.2K Sep 1 11:07 /home/user/source/environment/lib/python3.7/site-packages/pyspark/bin/spark-class
也许我缺少环境变量,或者可以将路径作为参数发送吗?
解决方法
通过添加指向Spark二进制文件的此属性,添加了执行程序中spark所在的路径的解决方法:
spark.mesos.executor.home