我正在尝试在独立群集上测试应用程序。这是我的情景。 我在节点A上启动了一个spark master,在同一节点A上也启动了一个worker。
我正在尝试从节点B运行应用程序(这意味着我认为这可以作为驱动程序)。
我使用setJars(" jar1"," jar2")将jar添加到sparkconf中。
当我启动应用程序时,我看到以下信息说它可以是jar
16/12/16 07:45:56 INFO SparkContext:在spark:// nodeb:48151 / jars / jar1.jar添加了JAR jar1.jar,时间戳为1481899556375
和
16/12/16 07:45:56 INFO SparkContext:在spark:// nodeb:48151 / jars / jar2.jar添加了JAR jar2.jar,时间戳为1481899556376
但是我在netty fetch期间从nodeA得到以下异常(我认为)
16/12/16 07:46:00 WARN TaskSetManager: Lost task 0.0 in stage 0.0 (TID 0, nodeA): java.lang.RuntimeException: Stream '/jars/node2.jar' was not found
at org.apache.spark.network.client.TransportResponseHandler.handle(TransportResponseHandler.java:222)
at org.apache.spark.network.server.TransportChannelHandler.channelRead0(TransportChannelHandler.java:121)
at org.apache.spark.network.server.TransportChannelHandler.channelRead0(TransportChannelHandler.java:51)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294)
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:266)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294)
at org.apache.spark.network.util.TransportFrameDecoder.channelRead(TransportFrameDecoder.java:85)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:846)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
at io.netty.util.concurrent.SingleThreadEven
答案 0 :(得分:0)
检查罐子的位置
它应位于HDFS中的某个位置。在我的情况下,我只是将它放在/tmp/hive/
下并将其引用为setJars(List("/tmp/hive/myJar"))
并且所有工作都像魅力一样
答案 1 :(得分:0)
当添加Spark Java类路径的jar在该路径中不再可用时,就会发生这种情况。