小编Dr.*_*Khu的帖子

独立火花星团.无法以编程方式提交作业 - > java.io.InvalidClassException

Spark家伙,我对Spark很新,这就是为什么我希望你的帮助确实如此.

我正试图从我的笔记本电脑上安排火花集群上相当简单的工作.尽管它有效,但当我提交它时./spark-submit,它会抛出异常,当我尝试以编程方式进行时.

环境: - Spark - 1个主节点和2个工作节点(独立模式).Spark没有编译,但下载了二进制文件.Spark版本 - 1.0.2 - java版本"1.7.0_45" - 应用程序jar位于任何地方(在客户端和工作节点上的同一位置); - README.md文件也被复制到每个节点;

我正在尝试运行的应用程序:

val logFile = "/user/vagrant/README.md"

val conf = new SparkConf()
conf.setMaster("spark://192.168.33.50:7077")
conf.setAppName("Simple App")
conf.setJars(List("file:///user/vagrant/spark-1.0.2-bin-hadoop1/bin/hello-apache-spark_2.10-1.0.0-SNAPSHOT.jar"))
conf.setSparkHome("/user/vagrant/spark-1.0.2-bin-hadoop1")

val sc = new SparkContext(conf)

val logData = sc.textFile(logFile, 2).cache()
Run Code Online (Sandbox Code Playgroud)

...

所以问题是,当我这样做时,这个应用程序在集群上成功运行:

./spark-submit --class com.paycasso.SimpleApp --master spark://192.168.33.50:7077 --deploy-mode client file:///home/vagrant/spark-1.0.2-bin-hadoop1/bin/hello-apache-spark_2.10-1.0.0-SNAPSHOT.jar
Run Code Online (Sandbox Code Playgroud)

但是当我尝试通过调用以编程方式执行相同操作时,它不起作用 sbt run

这是堆栈跟踪,我在主节点上得到:

14/09/04 15:09:44 ERROR Remoting: org.apache.spark.deploy.ApplicationDescription; local class incompatible: stream classdesc serialVersionUID = -6451051318873184044, local class serialVersionUID = 583745679236071411
java.io.InvalidClassException: org.apache.spark.deploy.ApplicationDescription; local class incompatible: stream …
Run Code Online (Sandbox Code Playgroud)

apache-spark

12
推荐指数
1
解决办法
8437
查看次数

你如何在apache spark工作中执行阻塞IO?

如果,当我遍历RDD时,我需要通过调用外部(阻塞)服务来计算数据集中的值?您认为如何实现这一目标?

val值: Future[RDD[Double]] = Future sequence tasks

我试图创建一个Futures列表,但由于RDD id不是Traversable,Future.sequence不适合.

我只是想知道,如果有人有这样的问题,你是如何解决的?我试图做到的,是得到一个工作节点上的并行性,所以我可以调用外部服务3000每次第二.

可能还有另一种解决方案,更适合火花,就像在单个主机上有多个工作节点一样.

有趣的是,你如何应对这样的挑战?谢谢.

parallel-processing scala apache-spark

9
推荐指数
1
解决办法
2432
查看次数

以编程方式提交作业时,Spark EC2集群上的java.io.EOFException

真的需要你的帮助来理解,我做错了什么.

我的实验的目的是以编程方式运行spark作业,而不是使用./spark-shell或./spark-submit(这些都适用于我)

环境:我使用./spark-ec2脚本创建了一个包含1个master和1个worker的Spark Cluster

但是,当我尝试运行打包在jar中的代码时,群集看起来很好:

val logFile = "file:///root/spark/bin/README.md"

val conf = new SparkConf()
conf.setAppName("Simple App")
conf.setJars(List("file:///root/spark/bin/hello-apache-spark_2.10-1.0.0-SNAPSHOT.jar"))
conf.setMaster("spark://ec2-54-89-51-36.compute-1.amazonaws.com:7077")

val sc = new SparkContext(conf)

val logData = sc.textFile(logFile, 2).cache()
val numAs = logData.filter(_.contains("a")).count()
val numBs = logData.filter(_.contains("b")).count()
println(s"1. Lines with a: $numAs, Lines with b: $numBs")
Run Code Online (Sandbox Code Playgroud)

我得到一个例外:

*[info] Running com.paycasso.SimpleApp 
14/09/05 14:50:29 INFO SecurityManager: Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
14/09/05 14:50:29 INFO SecurityManager: Changing view acls to: root
14/09/05 14:50:29 INFO SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with …
Run Code Online (Sandbox Code Playgroud)

scala amazon-ec2 apache-spark

3
推荐指数
1
解决办法
1630
查看次数