我正在尝试使用spark编写一个简单的工作计数程序,但是在初始化spark上下文时失败了。下面是我的代码
conf = new SparkConf(true).
setAppName("WordCount").
setMaster("spark://192.168.0.104:7077");
sc = new JavaSparkContext(conf);
现在我想澄清的是,我使用的是sparkversion2.1.1,java代码在windows10上,服务器在vmbox上运行。我在虚拟机中禁用了防火墙,可以访问urlhttp://192.168.0.104:8080/从窗口。
然而,我得到下面的堆栈跟踪时,运行代码
17/08/06 18:44:15 INFO SparkUI: Bound SparkUI to 0.0.0.0, and started at http://192.168.0.103:4040
17/08/06 18:44:15 INFO StandaloneAppClient$ClientEndpoint: Connecting to master spark://192.168.0.104:7077...
17/08/06 18:44:15 INFO TransportClientFactory: Successfully created connection to /192.168.0.104:7077 after 41 ms (0 ms spent in bootstraps)
17/08/06 18:44:15 WARN StandaloneAppClient$ClientEndpoint: Failed to connect to master 192.168.0.104:7077
org.apache.spark.SparkException: Exception thrown in awaitResult
at org.apache.spark.rpc.RpcTimeout$$anonfun$1.applyOrElse(RpcTimeout.scala:77)
at org.apache.spark.rpc.RpcTimeout$$anonfun$1.applyOrElse(RpcTimeout.scala:75)
at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:33)
at org.apache.spark.rpc.RpcTimeout$$anonfun$addMessageIfTimeout$1.applyOrElse(RpcTimeout.scala:59)
at org.apache.spark.rpc.RpcTimeout$$anonfun$addMessageIfTimeout$1.applyOrElse(RpcTimeout.scala:59)
有人能帮忙吗?
2条答案
按热度按时间t5zmwmid1#
您需要将一些spark类导入到您的程序中。添加以下行:
ou6hu8tu2#
有点晚了,但是对于那些现在遇到这种情况的人来说:这可能是由于用于spark-core或spark-sql的maven版本与服务器上使用的spark版本不兼容造成的。目前spark 2.4.4似乎与以下maven设置兼容:
可以通过查看spark主节点日志来诊断不兼容问题。他们应该提到一些类似于
spark local class incompatible stream classdesc serialversionuid
我希望这对一些人还是有用的!