2015-10-12 64 views
2

我试图运行连接到本地独立Spark集群的Java应用程序。我使用start-all.sh以默认配置启动群集。当我进入群集的网页时,它开始正常。我可以使用SparkR连接到此群集,但是当我使用相同的主URL从Java内部进行连接时,会收到错误消息。无法从Java应用程序连接到本地Spark集群

我正在使用Spark 1.5。

这里是我的Java代码:

SparkConf conf = new SparkConf(); 
conf.setAppName("test"); 
conf.setMaster("spark://Ellens-MacBook-Pro.local:7077"); 
conf.setSparkHome("/Applications/spark-1.5.0-bin-hadoop2.6"); 
SparkContext sc = new SparkContext(conf); 

以下是错误消息的一个片段:

ReliableDeliverySupervisor:协会远程系统 [akka.tcp:// @ sparkMaster Ellens- MacBook-Pro.local:7077]失败, 地址现在被选通[5000] ms。原因:[Disassociated] 15/10/09 17:31:41信息AppClient $ ClientEndpoint:连接到主 spark://Ellens-MacBook-Pro.local:7077 ... 15/10/09 17:31: 41 WARN ReliableDeliverySupervisor:与远程系统的关联 [akka.tcp://[email protected]:7077]失败, 地址现在门控为[5000] ms。原因:[Disassociated] 15/10/09 17:32:01信息AppClient $ ClientEndpoint:连接到主 spark://Ellens-MacBook-Pro.local:7077 ... 15/10/09 17:32: 01 ERROR SparkUncaughtExceptionHandler:在螺纹 线程未捕获的例外[appclient注册重试线程,如图5所示,主] java.util.concurrent.RejectedExecutionException:任务 [email protected]从 java.util中拒绝.concurrent.ThreadPoolExecutor @ 5d9f3e0d [Running,pool size = 1,active threads = 1,queued tasks = 0,completed tasks = 2] at java.util.concurrent.ThreadPoolExecutor $ AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2047)

at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:823) 

这里是在Spark日志输出:

Spark Command: /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/jre/bin/java -cp /Applications/spark-1.5.0-bin-hadoop2.6/sbin/../conf/:/Applications/spark-1.5.0-bin-hadoop2.6/lib/spark-assembly-1.5.0-hadoop2.6.0.jar:/Applications/spark-1.5.0-bin-hadoop2.6/lib/datanucleus-api-jdo-3.2.6.jar:/Applications/spark-1.5.0-bin-hadoop2.6/lib/datanucleus-core-3.2.10.jar:/Applications/spark-1.5.0-bin-hadoop2.6/lib/datanucleus-rdbms-3.2.9.jar -Xms1g -Xmx1g org.apache.spark.deploy.master.Master --ip Ellens-MacBook-Pro.local --port 7077 --webui-port 8080 
======================================== 
15/10/12 17:56:43 INFO Master: Registered signal handlers for [TERM, HUP, INT] 
15/10/12 17:56:43 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 
15/10/12 17:56:43 INFO SecurityManager: Changing view acls to: ellenk 
15/10/12 17:56:43 INFO SecurityManager: Changing modify acls to: ellenk 
15/10/12 17:56:43 INFO SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with view permissions: Set(ellenk); users with modify permissions: Set(ellenk) 
15/10/12 17:56:44 INFO Slf4jLogger: Slf4jLogger started 
15/10/12 17:56:44 INFO Remoting: Starting remoting 
15/10/12 17:56:44 INFO Remoting: Remoting started; listening on addresses :[akka.tcp://[email protected]:7077] 
15/10/12 17:56:44 INFO Utils: Successfully started service 'sparkMaster' on port 7077. 
15/10/12 17:56:44 INFO Master: Starting Spark master at spark://Ellens-MacBook-Pro.local:7077 
15/10/12 17:56:44 INFO Master: Running Spark version 1.5.0 
15/10/12 17:56:44 INFO Utils: Successfully started service 'MasterUI' on port 8080. 
15/10/12 17:56:44 INFO MasterWebUI: Started MasterWebUI at http://192.168.1.3:8080 
15/10/12 17:56:44 INFO Utils: Successfully started service on port 6066. 
15/10/12 17:56:44 INFO StandaloneRestServer: Started REST server for submitting applications on port 6066 
15/10/12 17:56:45 INFO Master: I have been elected leader! New state: ALIVE 
15/10/12 17:56:50 INFO Master: Registering worker 192.168.1.3:57180 with 8 cores, 15.0 GB RAM 
15/10/12 17:57:23 WARN ReliableDeliverySupervisor: Association with remote system [akka.tcp://[email protected]:57238] has failed, address is now gated for [5000] ms. Reason: [null] 
15/10/12 17:57:23 INFO Master: 192.168.1.3:57238 got disassociated, removing it. 
15/10/12 17:57:43 ERROR Remoting: 
java.io.OptionalDataException 
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1371) 
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) 
    at scala.collection.immutable.$colon$colon.readObject(List.scala:366) 
    at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017) 
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900) 
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) 
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) 
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) 
    at scala.collection.immutable.$colon$colon.readObject(List.scala:366) 
    at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017) 
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900) 
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) 
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) 
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) 
    at scala.collection.immutable.$colon$colon.readObject(List.scala:366) 
    at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017) 
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900) 
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) 
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) 
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) 
    at scala.collection.immutable.$colon$colon.readObject(List.scala:366) 
    at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017) 
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900) 
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) 
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) 
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) 
    at scala.collection.immutable.$colon$colon.readObject(List.scala:366) 
    at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017) 
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900) 
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) 
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) 
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) 
    at scala.collection.immutable.$colon$colon.readObject(List.scala:366) 
    at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017) 
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900) 
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) 
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) 
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) 
    at scala.collection.immutable.$colon$colon.readObject(List.scala:366) 
    at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017) 
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900) 
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) 
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) 
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) 
    at scala.collection.immutable.$colon$colon.readObject(List.scala:366) 
    at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017) 
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900) 
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) 
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) 
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) 
    at scala.collection.immutable.$colon$colon.readObject(List.scala:366) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017) 
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900) 
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) 
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) 
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) 
    at scala.collection.immutable.$colon$colon.readObject(List.scala:366) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017) 
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900) 
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) 
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) 
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) 
    at scala.collection.immutable.$colon$colon.readObject(List.scala:366) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017) 
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900) 
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) 
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) 
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) 
    at scala.collection.immutable.$colon$colon.readObject(List.scala:366) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017) 
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900) 
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) 
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) 
    at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000) 
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924) 
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) 
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) 
    at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000) 
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924) 
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) 
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) 
    at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000) 
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924) 
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) 
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) 
    at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000) 
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924) 
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) 
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) 
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) 
    at akka.serialization.JavaSerializer$$anonfun$1.apply(Serializer.scala:136) 
    at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57) 
    at akka.serialization.JavaSerializer.fromBinary(Serializer.scala:136) 
    at akka.serialization.Serialization$$anonfun$deserialize$1.apply(Serialization.scala:104) 
    at scala.util.Try$.apply(Try.scala:161) 
    at akka.serialization.Serialization.deserialize(Serialization.scala:98) 
    at akka.remote.MessageSerializer$.deserialize(MessageSerializer.scala:23) 
    at akka.remote.DefaultMessageDispatcher.payload$lzycompute$1(Endpoint.scala:58) 
    at akka.remote.DefaultMessageDispatcher.payload$1(Endpoint.scala:58) 
    at akka.remote.DefaultMessageDispatcher.dispatch(Endpoint.scala:76) 
    at akka.remote.EndpointReader$$anonfun$receive$2.applyOrElse(Endpoint.scala:935) 
    at akka.actor.Actor$class.aroundReceive(Actor.scala:467) 
    at akka.remote.EndpointActor.aroundReceive(Endpoint.scala:411) 
    at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516) 
    at akka.actor.ActorCell.invoke(ActorCell.scala:487) 
    at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238) 
    at akka.dispatch.Mailbox.run(Mailbox.scala:220) 
    at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397) 
    at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) 
    at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) 
    at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) 
    at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) 
15/10/12 17:57:43 INFO Master: 192.168.1.3:57238 got disassociated, removing it. 
15/10/12 17:58:03 INFO Master: 192.168.1.3:57238 got disassociated, removing it. 
15/10/12 17:58:03 WARN ReliableDeliverySupervisor: Association with remote system [akka.tcp://[email protected]:57238] has failed, address is now gated for [5000] ms. Reason: [Disassociated] 
15/10/12 17:58:03 INFO Master: 192.168.1.3:57238 got disassociated, removing it. 
15/10/12 17:58:03 INFO Master: 192.168.1.3:57238 got disassociated, removing it. 
15/10/12 17:58:03 INFO Master: 192.168.1.3:57238 got disassociated, removing it. 
+0

请发表您的Java代码,如果任何任何嵌套异常,同时检查火花塞主日志,并从那里 – kostya

+0

感谢张贴任何异常,我编辑我的问题,包括Java代码和火花日志。 – Ellen

+0

我也遇到此问题。我在客户端上使用与服务器上相同的版本。 – javadba

回答

2

这很可能是由于星火版本不匹配。确保您在客户端和服务器上都使用相同的版本(包括Scala版本,如果您使用提供的二进制版本之一,则应该是2.10)。

另外,如果您在客户端应用程序中使用akka,则应确保它与Spark(2.3.4+)使用的兼容。

0

Spark可以使用JavaSparkContext连接到本地。举例来说,这里是一个构造函数:

JavaSparkContext(String master, String appName, String sparkHome, String[] jars) 

JavaSparkContext引入为1.4:

https://spark.apache.org/docs/1.4.0/api/java/org/apache/spark/api/java/JavaSparkContext.html

这里是类似我有工作的例子。我正在使用Maven。

public JavaSparkContext getJavaSparkContext(String myAppName) { 
    // Based on example above: 
    String sparkHome="/Applications/spark-1.5.0-bin-hadoop2.6"; 
    JavaSparkContext sc = new JavaSparkContext("local", myAppName, 
      sparkHome, new String[]{"target/sparkapp-0.0.1-SNAPSHOT.jar"}); 
    return sc; 

} 

的参数myAppName只是一个字符串,例如:使应用程序JAR在目标目录下创建“我的应用”

0

我不知道这是否会帮助;我得到无法连接到spark的错误:// master:7077;而当我开始主/从时,它向我展示了spark://127.0.1.1:7077的火花大师。

因此,我在/ etc/hosts中将“master”映射到127.0.1.1,并且它看起来像魅力一样;它可以轻松找到sparkContext实例。

捷豹

相关问题