首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >未能提交本地jar以激发集群: java.nio.file.NoSuchFileException

未能提交本地jar以激发集群: java.nio.file.NoSuchFileException
EN

Stack Overflow用户
提问于 2017-06-20 20:49:12
回答 3查看 5.6K关注 0票数 6
代码语言:javascript
运行
复制
~/spark/spark-2.1.1-bin-hadoop2.7/bin$ ./spark-submit --master spark://192.168.42.80:32141 --deploy-mode cluster file:///home/me/workspace/myproj/target/scala-2.11/myproj-assembly-0.1.0.jar

Running Spark using the REST application submission protocol.
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
17/06/20 16:41:30 INFO RestSubmissionClient: Submitting a request to launch an application in spark://192.168.42.80:32141.
17/06/20 16:41:31 INFO RestSubmissionClient: Submission successfully created as driver-20170620204130-0005. Polling submission state...
17/06/20 16:41:31 INFO RestSubmissionClient: Submitting a request for the status of submission driver-20170620204130-0005 in spark://192.168.42.80:32141.
17/06/20 16:41:31 INFO RestSubmissionClient: State of driver driver-20170620204130-0005 is now ERROR.
17/06/20 16:41:31 INFO RestSubmissionClient: Driver is running on worker worker-20170620203037-172.17.0.5-45429 at 172.17.0.5:45429.
17/06/20 16:41:31 ERROR RestSubmissionClient: Exception from the cluster:
java.nio.file.NoSuchFileException: /home/me/workspace/myproj/target/scala-2.11/myproj-assembly-0.1.0.jar
    sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)
    sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
    sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
    sun.nio.fs.UnixCopyFile.copy(UnixCopyFile.java:526)
    sun.nio.fs.UnixFileSystemProvider.copy(UnixFileSystemProvider.java:253)
    java.nio.file.Files.copy(Files.java:1274)
    org.apache.spark.util.Utils$.org$apache$spark$util$Utils$$copyRecursive(Utils.scala:608)
    org.apache.spark.util.Utils$.copyFile(Utils.scala:579)
    org.apache.spark.util.Utils$.doFetchFile(Utils.scala:664)
    org.apache.spark.util.Utils$.fetchFile(Utils.scala:463)
    org.apache.spark.deploy.worker.DriverRunner.downloadUserJar(DriverRunner.scala:154)
    org.apache.spark.deploy.worker.DriverRunner.prepareAndRunDriver(DriverRunner.scala:172)
    org.apache.spark.deploy.worker.DriverRunner$$anon$1.run(DriverRunner.scala:91)
17/06/20 16:41:31 INFO RestSubmissionClient: Server responded with CreateSubmissionResponse:
{
  "action" : "CreateSubmissionResponse",
  "message" : "Driver successfully submitted as driver-20170620204130-0005",
  "serverSparkVersion" : "2.1.1",
  "submissionId" : "driver-20170620204130-0005",
  "success" : true
}

火花工的日志:

代码语言:javascript
运行
复制
 2017-06-20T20:41:30.807403232Z 17/06/20 20:41:30 INFO Worker: Asked to launch driver driver-20170620204130-0005
2017-06-20T20:41:30.817248508Z 17/06/20 20:41:30 INFO DriverRunner: Copying user jar file:///home/me/workspace/myproj/target/scala-2.11/myproj-assembly-0.1.0.jar to /opt/spark/work/driver-20170620204130-0005/myproj-assembly-0.1.0.jar
2017-06-20T20:41:30.883645747Z 17/06/20 20:41:30 INFO Utils: Copying /home/me/workspace/myproj/target/scala-2.11/myproj-assembly-0.1.0.jar to /opt/spark/work/driver-20170620204130-0005/myproj-assembly-0.1.0.jar
2017-06-20T20:41:30.885217508Z 17/06/20 20:41:30 INFO DriverRunner: Killing driver process!
2017-06-20T20:41:30.885694618Z 17/06/20 20:41:30 WARN Worker: Driver driver-20170620204130-0005 failed with unrecoverable exception: java.nio.file.NoSuchFileException: home/me/workspace/myproj/target/scala-2.11/myproj-assembly-0.1.0.jar 

知道为什么吗?谢谢

更新

下面的命令正确吗?

代码语言:javascript
运行
复制
./spark-submit --master spark://192.168.42.80:32141 --deploy-mode cluster file:///home/me/workspace/myproj/target/scala-2.11/myproj-assembly-0.1.0.jar

更新

我想我更了解火花和为什么我有这个问题和spark-submit error: ClassNotFoundException。关键是,尽管这里使用的单词REST ( REST URL: spark://127.0.1.1:6066 (cluster mode) ),但提交后应用程序jar不会上传到集群,这与我的理解不同。因此,星火集群无法找到应用程序jar,也无法加载主类。

我将尝试找到如何设置星火集群,并使用集群模式提交应用程序。不知道客户端模式是否会为流作业使用更多的资源。

EN

回答 3

Stack Overflow用户

发布于 2019-01-09 14:17:42

区块引号更新 我想我更了解火花,以及为什么我有这个问题和>火花提交错误: ClassNotFoundException。关键是,尽管REST URL: //127.0.1.1:6066(集群模式)中使用的单词>REST,但提交后应用程序>jar不会上传到集群,这与>我的理解不同。因此,星火集群无法找到应用程序jar,而且>无法加载主类。

这就是为什么您必须在主节点中定位jar文件,或者在spark提交之前将其放到hdfs中。

这就是如何做到的: 1.)使用ubuntu命令将文件传递到主节点

代码语言:javascript
运行
复制
$ scp <file> <username>@<IP address or hostname>:<Destination>

例如:

代码语言:javascript
运行
复制
$ scp mytext.txt tom@128.140.133.124:~/

2.)将文件传输到HDFS:

代码语言:javascript
运行
复制
$ hdfs dfs -put mytext.txt

希望我能帮你。

票数 0
EN

Stack Overflow用户

发布于 2022-05-25 05:57:54

您正在使用集群模式来初始化应用程序,这意味着将在某个地方创建一个火花驱动程序应用程序,该文件必须存在于此。

这就是为什么对于Spark,它需要使用像HDFS或S3这样的分布式文件系统。

票数 0
EN

Stack Overflow用户

发布于 2018-05-03 08:56:23

独立模式集群希望将jar文件传递给hdfs,因为驱动程序位于集群中的任何节点上。

代码语言:javascript
运行
复制
hdfs dfs -put xxx.jar /user/
spark-submit --master spark://xxx:7077 \
--deploy-mode cluster \
--supervise \
--driver-memory 512m \
--total-executor-cores 1 \
--executor-memory 512m \
--executor-cores 1 \
--class com.xiyou.bi.streaming.game.common.DmMoGameviewOnlineLogic \
hdfs://xxx:8020/user/hutao/xxx.jar
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44662751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档